on develop help sign in
Regenerating gogol-deploymentmanager from latest service definition
commitfa569162f0ab35190f75829320650c9218697da8 authorBrendan Hay <brendan.g.hay@gmail.com> dateTue 25 Oct 2016, 11:37 (10 years ago) parenta335a52
13 files changed+1569−51
gen/model/deploymentmanager/v2/deploymentmanager-api.json+351−9 gogol-deploymentmanager/gen/Network/Google/DeploymentManager.hs+87 gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types.hs+72 gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types/Product.hs+686−7 gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/GetIAMPolicy.hs+104 gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/List.hs+6−7 gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/SetIAMPolicy.hs+117 gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/TestIAMPermissions.hs+119 gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Manifests/List.hs+6−7 gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs+6−7 gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs+6−7 gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Types/List.hs+6−7 gogol-deploymentmanager/gogol-deploymentmanager.cabal+3
gen/model/deploymentmanager/v2/deploymentmanager-api.json+351−9
@@ -1,12 +1,12 @@
11{
22 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/NGZc-wpPOb0oBihA_KbpUbW4F-M\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/9Zsfmpnnm8mFw6prcRj_UvjMhOo\"",
44 "discoveryVersion": "v1",
55 "id": "deploymentmanager:v2",
66 "name": "deploymentmanager",
77 "canonicalName": "Deployment Manager",
88 "version": "v2",
9− "revision": "20160406",
9+ "revision": "20160915",
1010 "title": "Google Cloud Deployment Manager API",
1111 "description": "Declares, configures, and deploys complex solutions on Google Cloud Platform.",
1212 "ownerDomain": "google.com",
@@ -86,6 +86,76 @@
8686 }
8787 },
8888 "schemas": {
89+ "AuditConfig": {
90+ "id": "AuditConfig",
91+ "type": "object",
92+ "description": "Enables \"data access\" audit logging for a service and specifies a list of members that are log-exempted.",
93+ "properties": {
94+ "exemptedMembers": {
95+ "type": "array",
96+ "description": "Specifies the identities that are exempted from \"data access\" audit logging for the `service` specified above. Follows the same format of Binding.members.",
97+ "items": {
98+ "type": "string"
99+ }
100+ },
101+ "service": {
102+ "type": "string",
103+ "description": "Specifies a service that will be enabled for \"data access\" audit logging. For example, `resourcemanager`, `storage`, `compute`. `allServices` is a special value that covers all services."
104+ }
105+ }
106+ },
107+ "Binding": {
108+ "id": "Binding",
109+ "type": "object",
110+ "description": "Associates `members` with a `role`.",
111+ "properties": {
112+ "members": {
113+ "type": "array",
114+ "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`.\n\n* `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`.\n\n* `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.",
115+ "items": {
116+ "type": "string"
117+ }
118+ },
119+ "role": {
120+ "type": "string",
121+ "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`."
122+ }
123+ }
124+ },
125+ "Condition": {
126+ "id": "Condition",
127+ "type": "object",
128+ "description": "A condition to be met.",
129+ "properties": {
130+ "iam": {
131+ "type": "string",
132+ "description": "Trusted attributes supplied by the IAM system."
133+ },
134+ "op": {
135+ "type": "string",
136+ "description": "An operator to apply the subject with."
137+ },
138+ "svc": {
139+ "type": "string",
140+ "description": "Trusted attributes discharged by the service."
141+ },
142+ "sys": {
143+ "type": "string",
144+ "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control."
145+ },
146+ "value": {
147+ "type": "string",
148+ "description": "DEPRECATED. Use 'values' instead."
149+ },
150+ "values": {
151+ "type": "array",
152+ "description": "The objects of the condition. This is mutually exclusive with 'value'.",
153+ "items": {
154+ "type": "string"
155+ }
156+ }
157+ }
158+ },
89159 "ConfigFile": {
90160 "id": "ConfigFile",
91161 "type": "object",
@@ -252,6 +322,32 @@
252322 }
253323 }
254324 },
325+ "LogConfig": {
326+ "id": "LogConfig",
327+ "type": "object",
328+ "description": "Specifies what kind of log the caller must write",
329+ "properties": {
330+ "counter": {
331+ "$ref": "LogConfigCounterOptions",
332+ "description": "Counter options."
333+ }
334+ }
335+ },
336+ "LogConfigCounterOptions": {
337+ "id": "LogConfigCounterOptions",
338+ "type": "object",
339+ "description": "Options for counters",
340+ "properties": {
341+ "field": {
342+ "type": "string",
343+ "description": "The field value to attribute."
344+ },
345+ "metric": {
346+ "type": "string",
347+ "description": "The metric to update."
348+ }
349+ }
350+ },
255351 "Manifest": {
256352 "id": "Manifest",
257353 "type": "object",
@@ -424,7 +520,7 @@
424520 },
425521 "targetLink": {
426522 "type": "string",
427− "description": "[Output Only] The URL of the resource that the operation modifies."
523+ "description": "[Output Only] The URL of the resource that the operation modifies. If creating a persistent disk snapshot, this points to the persistent disk that the snapshot was created from."
428524 },
429525 "user": {
430526 "type": "string",
@@ -488,11 +584,57 @@
488584 }
489585 }
490586 },
587+ "Policy": {
588+ "id": "Policy",
589+ "type": "object",
590+ "description": "Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources.\n\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM.\n\n**Example**\n\n{ \"bindings\": [ { \"role\": \"roles/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-other-app@appspot.gserviceaccount.com\", ] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com\"] } ] }\n\nFor a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).",
591+ "properties": {
592+ "auditConfigs": {
593+ "type": "array",
594+ "description": "Specifies audit logging configs for \"data access\". \"data access\": generally refers to data reads/writes and admin reads. \"admin activity\": generally refers to admin writes.\n\nNote: `AuditConfig` doesn't apply to \"admin activity\", which always enables audit logging.",
595+ "items": {
596+ "$ref": "AuditConfig"
597+ }
598+ },
599+ "bindings": {
600+ "type": "array",
601+ "description": "Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.",
602+ "items": {
603+ "$ref": "Binding"
604+ }
605+ },
606+ "etag": {
607+ "type": "string",
608+ "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.",
609+ "format": "byte"
610+ },
611+ "iamOwned": {
612+ "type": "boolean",
613+ "description": ""
614+ },
615+ "rules": {
616+ "type": "array",
617+ "description": "If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied.",
618+ "items": {
619+ "$ref": "Rule"
620+ }
621+ },
622+ "version": {
623+ "type": "integer",
624+ "description": "Version of the `Policy`. The default version is 0.",
625+ "format": "int32"
626+ }
627+ }
628+ },
491629 "Resource": {
492630 "id": "Resource",
493631 "type": "object",
494632 "description": "",
495633 "properties": {
634+ "accessControl": {
635+ "$ref": "ResourceAccessControl",
636+ "description": "The Access Control Policy set on this resource."
637+ },
496638 "finalProperties": {
497639 "type": "string",
498640 "description": "[Output Only] The evaluated properties of the resource with references expanded. Returned as serialized YAML."
@@ -520,7 +662,7 @@
520662 },
521663 "type": {
522664 "type": "string",
523− "description": "[Output Only] The type of the resource, for example compute.v1.instance, or replicaPools.v1beta2.instanceGroupManager."
665+ "description": "[Output Only] The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function."
524666 },
525667 "update": {
526668 "$ref": "ResourceUpdate",
@@ -570,11 +712,26 @@
570712 }
571713 }
572714 },
715+ "ResourceAccessControl": {
716+ "id": "ResourceAccessControl",
717+ "type": "object",
718+ "description": "The access controls set on the resource.",
719+ "properties": {
720+ "gcpIamPolicy": {
721+ "type": "string",
722+ "description": "The GCP IAM Policy to set on the resource."
723+ }
724+ }
725+ },
573726 "ResourceUpdate": {
574727 "id": "ResourceUpdate",
575728 "type": "object",
576729 "description": "",
577730 "properties": {
731+ "accessControl": {
732+ "$ref": "ResourceAccessControl",
733+ "description": "The Access Control Policy to set on this resource after updating the resource itself."
734+ },
578735 "error": {
579736 "type": "object",
580737 "description": "[Output Only] If errors are generated during update of the resource, this field will be populated.",
@@ -676,6 +833,56 @@
676833 }
677834 }
678835 },
836+ "Rule": {
837+ "id": "Rule",
838+ "type": "object",
839+ "description": "A rule to be applied in a Policy.",
840+ "properties": {
841+ "action": {
842+ "type": "string",
843+ "description": "Required"
844+ },
845+ "conditions": {
846+ "type": "array",
847+ "description": "Additional restrictions that must be met",
848+ "items": {
849+ "$ref": "Condition"
850+ }
851+ },
852+ "description": {
853+ "type": "string",
854+ "description": "Human-readable description of the rule."
855+ },
856+ "ins": {
857+ "type": "array",
858+ "description": "If one or more 'in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.",
859+ "items": {
860+ "type": "string"
861+ }
862+ },
863+ "logConfigs": {
864+ "type": "array",
865+ "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.",
866+ "items": {
867+ "$ref": "LogConfig"
868+ }
869+ },
870+ "notIns": {
871+ "type": "array",
872+ "description": "If one or more 'not_in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.",
873+ "items": {
874+ "type": "string"
875+ }
876+ },
877+ "permissions": {
878+ "type": "array",
879+ "description": "A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.",
880+ "items": {
881+ "type": "string"
882+ }
883+ }
884+ }
885+ },
679886 "TargetConfiguration": {
680887 "id": "TargetConfiguration",
681888 "type": "object",
@@ -694,6 +901,32 @@
694901 }
695902 }
696903 },
904+ "TestPermissionsRequest": {
905+ "id": "TestPermissionsRequest",
906+ "type": "object",
907+ "properties": {
908+ "permissions": {
909+ "type": "array",
910+ "description": "The set of permissions to check for the 'resource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.",
911+ "items": {
912+ "type": "string"
913+ }
914+ }
915+ }
916+ },
917+ "TestPermissionsResponse": {
918+ "id": "TestPermissionsResponse",
919+ "type": "object",
920+ "properties": {
921+ "permissions": {
922+ "type": "array",
923+ "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
924+ "items": {
925+ "type": "string"
926+ }
927+ }
928+ }
929+ },
697930 "Type": {
698931 "id": "Type",
699932 "type": "object",
@@ -712,6 +945,10 @@
712945 "type": "string",
713946 "description": "Name of the type."
714947 },
948+ "operation": {
949+ "$ref": "Operation",
950+ "description": "[Output Only] The Operation that most recently ran, or is currently running, on this type."
951+ },
715952 "selfLink": {
716953 "type": "string",
717954 "description": "[Output Only] Self link for the type."
@@ -844,6 +1081,39 @@
8441081 "https://www.googleapis.com/auth/ndev.cloudman.readonly"
8451082 ]
8461083 },
1084+ "getIamPolicy": {
1085+ "id": "deploymentmanager.deployments.getIamPolicy",
1086+ "path": "{project}/global/deployments/{resource}/getIamPolicy",
1087+ "httpMethod": "GET",
1088+ "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.",
1089+ "parameters": {
1090+ "project": {
1091+ "type": "string",
1092+ "description": "Project ID for this request.",
1093+ "required": true,
1094+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
1095+ "location": "path"
1096+ },
1097+ "resource": {
1098+ "type": "string",
1099+ "description": "Name of the resource for this request.",
1100+ "required": true,
1101+ "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?",
1102+ "location": "path"
1103+ }
1104+ },
1105+ "parameterOrder": [
1106+ "project",
1107+ "resource"
1108+ ],
1109+ "response": {
1110+ "$ref": "Policy"
1111+ },
1112+ "scopes": [
1113+ "https://www.googleapis.com/auth/cloud-platform",
1114+ "https://www.googleapis.com/auth/ndev.cloudman"
1115+ ]
1116+ },
8471117 "insert": {
8481118 "id": "deploymentmanager.deployments.insert",
8491119 "path": "{project}/global/deployments",
@@ -885,7 +1155,7 @@
8851155 "parameters": {
8861156 "filter": {
8871157 "type": "string",
888− "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
1158+ "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
8891159 "location": "query"
8901160 },
8911161 "maxResults": {
@@ -993,6 +1263,42 @@
9931263 "https://www.googleapis.com/auth/ndev.cloudman"
9941264 ]
9951265 },
1266+ "setIamPolicy": {
1267+ "id": "deploymentmanager.deployments.setIamPolicy",
1268+ "path": "{project}/global/deployments/{resource}/setIamPolicy",
1269+ "httpMethod": "POST",
1270+ "description": "Sets the access control policy on the specified resource. Replaces any existing policy.",
1271+ "parameters": {
1272+ "project": {
1273+ "type": "string",
1274+ "description": "Project ID for this request.",
1275+ "required": true,
1276+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
1277+ "location": "path"
1278+ },
1279+ "resource": {
1280+ "type": "string",
1281+ "description": "Name of the resource for this request.",
1282+ "required": true,
1283+ "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?",
1284+ "location": "path"
1285+ }
1286+ },
1287+ "parameterOrder": [
1288+ "project",
1289+ "resource"
1290+ ],
1291+ "request": {
1292+ "$ref": "Policy"
1293+ },
1294+ "response": {
1295+ "$ref": "Policy"
1296+ },
1297+ "scopes": [
1298+ "https://www.googleapis.com/auth/cloud-platform",
1299+ "https://www.googleapis.com/auth/ndev.cloudman"
1300+ ]
1301+ },
9961302 "stop": {
9971303 "id": "deploymentmanager.deployments.stop",
9981304 "path": "{project}/global/deployments/{deployment}/stop",
@@ -1029,6 +1335,42 @@
10291335 "https://www.googleapis.com/auth/ndev.cloudman"
10301336 ]
10311337 },
1338+ "testIamPermissions": {
1339+ "id": "deploymentmanager.deployments.testIamPermissions",
1340+ "path": "{project}/global/deployments/{resource}/testIamPermissions",
1341+ "httpMethod": "POST",
1342+ "description": "Returns permissions that a caller has on the specified resource.",
1343+ "parameters": {
1344+ "project": {
1345+ "type": "string",
1346+ "description": "Project ID for this request.",
1347+ "required": true,
1348+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
1349+ "location": "path"
1350+ },
1351+ "resource": {
1352+ "type": "string",
1353+ "description": "Name of the resource for this request.",
1354+ "required": true,
1355+ "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?",
1356+ "location": "path"
1357+ }
1358+ },
1359+ "parameterOrder": [
1360+ "project",
1361+ "resource"
1362+ ],
1363+ "request": {
1364+ "$ref": "TestPermissionsRequest"
1365+ },
1366+ "response": {
1367+ "$ref": "TestPermissionsResponse"
1368+ },
1369+ "scopes": [
1370+ "https://www.googleapis.com/auth/cloud-platform",
1371+ "https://www.googleapis.com/auth/ndev.cloudman"
1372+ ]
1373+ },
10321374 "update": {
10331375 "id": "deploymentmanager.deployments.update",
10341376 "path": "{project}/global/deployments/{deployment}",
@@ -1161,7 +1503,7 @@
11611503 },
11621504 "filter": {
11631505 "type": "string",
1164− "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
1506+ "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
11651507 "location": "query"
11661508 },
11671509 "maxResults": {
@@ -1246,7 +1588,7 @@
12461588 "parameters": {
12471589 "filter": {
12481590 "type": "string",
1249− "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
1591+ "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
12501592 "location": "query"
12511593 },
12521594 "maxResults": {
@@ -1345,7 +1687,7 @@
13451687 },
13461688 "filter": {
13471689 "type": "string",
1348− "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
1690+ "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
13491691 "location": "query"
13501692 },
13511693 "maxResults": {
@@ -1396,7 +1738,7 @@
13961738 "parameters": {
13971739 "filter": {
13981740 "type": "string",
1399− "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
1741+ "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
14001742 "location": "query"
14011743 },
14021744 "maxResults": {
gogol-deploymentmanager/gen/Network/Google/DeploymentManager.hs+87
@@ -42,6 +42,9 @@ module Network.Google.DeploymentManager
4242 -- ** deploymentmanager.deployments.get
4343 , module Network.Google.Resource.DeploymentManager.Deployments.Get
4444
45+ -- ** deploymentmanager.deployments.getIamPolicy
46+ , module Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
47+
4548 -- ** deploymentmanager.deployments.insert
4649 , module Network.Google.Resource.DeploymentManager.Deployments.Insert
4750
@@ -51,9 +54,15 @@ module Network.Google.DeploymentManager
5154 -- ** deploymentmanager.deployments.patch
5255 , module Network.Google.Resource.DeploymentManager.Deployments.Patch
5356
57+ -- ** deploymentmanager.deployments.setIamPolicy
58+ , module Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
59+
5460 -- ** deploymentmanager.deployments.stop
5561 , module Network.Google.Resource.DeploymentManager.Deployments.Stop
5662
63+ -- ** deploymentmanager.deployments.testIamPermissions
64+ , module Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
65+
5766 -- ** deploymentmanager.deployments.update
5867 , module Network.Google.Resource.DeploymentManager.Deployments.Update
5968
@@ -91,6 +100,12 @@ module Network.Google.DeploymentManager
91100 , configFile
92101 , cfContent
93102
103+ -- ** AuditConfig
104+ , AuditConfig
105+ , auditConfig
106+ , acService
107+ , acExemptedMembers
108+
94109 -- ** DeploymentsUpdateCreatePolicy
95110 , DeploymentsUpdateCreatePolicy (..)
96111
@@ -112,6 +127,12 @@ module Network.Google.DeploymentManager
112127 , tlrNextPageToken
113128 , tlrTypes
114129
130+ -- ** LogConfigCounterOptions
131+ , LogConfigCounterOptions
132+ , logConfigCounterOptions
133+ , lccoField
134+ , lccoMetric
135+
115136 -- ** DeploymentsUpdateDeletePolicy
116137 , DeploymentsUpdateDeletePolicy (..)
117138
@@ -145,6 +166,11 @@ module Network.Google.DeploymentManager
145166 , oTargetLink
146167 , oClientOperationId
147168
169+ -- ** TestPermissionsResponse
170+ , TestPermissionsResponse
171+ , testPermissionsResponse
172+ , tprPermissions
173+
148174 -- ** DeploymentsPatchCreatePolicy
149175 , DeploymentsPatchCreatePolicy (..)
150176
@@ -165,6 +191,7 @@ module Network.Google.DeploymentManager
165191 , resourceUpdate
166192 , ruState
167193 , ruError
194+ , ruAccessControl
168195 , ruWarnings
169196 , ruIntent
170197 , ruManifest
@@ -177,6 +204,22 @@ module Network.Google.DeploymentManager
177204 , dleValue
178205 , dleKey
179206
207+ -- ** Rule
208+ , Rule
209+ , rule
210+ , rAction
211+ , rNotIns
212+ , rIns
213+ , rLogConfigs
214+ , rConditions
215+ , rPermissions
216+ , rDescription
217+
218+ -- ** TestPermissionsRequest
219+ , TestPermissionsRequest
220+ , testPermissionsRequest
221+ , tPermissions
222+
180223 -- ** Manifest
181224 , Manifest
182225 , manifest
@@ -205,6 +248,7 @@ module Network.Google.DeploymentManager
205248 , Resource
206249 , resource
207250 , rInsertTime
251+ , rAccessControl
208252 , rURL
209253 , rWarnings
210254 , rUpdateTime
@@ -240,10 +284,21 @@ module Network.Google.DeploymentManager
240284 , operationError
241285 , oeErrors
242286
287+ -- ** Policy
288+ , Policy
289+ , policy
290+ , pAuditConfigs
291+ , pEtag
292+ , pRules
293+ , pVersion
294+ , pBindings
295+ , pIAMOwned
296+
243297 -- ** Type
244298 , Type
245299 , type'
246300 , tInsertTime
301+ , tOperation
247302 , tSelfLink
248303 , tName
249304 , tId
@@ -277,6 +332,16 @@ module Network.Google.DeploymentManager
277332 , resourceUpdateError
278333 , rueErrors
279334
335+ -- ** Condition
336+ , Condition
337+ , condition
338+ , cOp
339+ , cIAM
340+ , cValues
341+ , cValue
342+ , cSys
343+ , cSvc
344+
280345 -- ** DeploymentsListResponse
281346 , DeploymentsListResponse
282347 , deploymentsListResponse
@@ -290,6 +355,16 @@ module Network.Google.DeploymentManager
290355 , rwiCode
291356 , rwiMessage
292357
358+ -- ** LogConfig
359+ , LogConfig
360+ , logConfig
361+ , lcCounter
362+
363+ -- ** ResourceAccessControl
364+ , ResourceAccessControl
365+ , resourceAccessControl
366+ , racGcpIAMPolicy
367+
293368 -- ** TargetConfiguration
294369 , TargetConfiguration
295370 , targetConfiguration
@@ -303,6 +378,12 @@ module Network.Google.DeploymentManager
303378 , owiCode
304379 , owiMessage
305380
381+ -- ** Binding
382+ , Binding
383+ , binding
384+ , bMembers
385+ , bRole
386+
306387 -- ** Deployment
307388 , Deployment
308389 , deployment
@@ -324,10 +405,13 @@ import Network.Google.Prelude
324405import Network.Google.Resource.DeploymentManager.Deployments.CancelPreview
325406import Network.Google.Resource.DeploymentManager.Deployments.Delete
326407import Network.Google.Resource.DeploymentManager.Deployments.Get
408+import Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
327409import Network.Google.Resource.DeploymentManager.Deployments.Insert
328410import Network.Google.Resource.DeploymentManager.Deployments.List
329411import Network.Google.Resource.DeploymentManager.Deployments.Patch
412+import Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
330413import Network.Google.Resource.DeploymentManager.Deployments.Stop
414+import Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
331415import Network.Google.Resource.DeploymentManager.Deployments.Update
332416import Network.Google.Resource.DeploymentManager.Manifests.Get
333417import Network.Google.Resource.DeploymentManager.Manifests.List
@@ -349,10 +433,13 @@ type DeploymentManagerAPI =
349433 :<|> ManifestsGetResource
350434 :<|> DeploymentsInsertResource
351435 :<|> DeploymentsListResource
436+ :<|> DeploymentsGetIAMPolicyResource
352437 :<|> DeploymentsPatchResource
353438 :<|> DeploymentsGetResource
354439 :<|> DeploymentsCancelPreviewResource
440+ :<|> DeploymentsSetIAMPolicyResource
355441 :<|> DeploymentsStopResource
442+ :<|> DeploymentsTestIAMPermissionsResource
356443 :<|> DeploymentsDeleteResource
357444 :<|> DeploymentsUpdateResource
358445 :<|> OperationsListResource
gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types.hs+72
@@ -36,6 +36,12 @@ module Network.Google.DeploymentManager.Types
3636 , configFile
3737 , cfContent
3838
39+ -- * AuditConfig
40+ , AuditConfig
41+ , auditConfig
42+ , acService
43+ , acExemptedMembers
44+
3945 -- * DeploymentsUpdateCreatePolicy
4046 , DeploymentsUpdateCreatePolicy (..)
4147
@@ -57,6 +63,12 @@ module Network.Google.DeploymentManager.Types
5763 , tlrNextPageToken
5864 , tlrTypes
5965
66+ -- * LogConfigCounterOptions
67+ , LogConfigCounterOptions
68+ , logConfigCounterOptions
69+ , lccoField
70+ , lccoMetric
71+
6072 -- * DeploymentsUpdateDeletePolicy
6173 , DeploymentsUpdateDeletePolicy (..)
6274
@@ -90,6 +102,11 @@ module Network.Google.DeploymentManager.Types
90102 , oTargetLink
91103 , oClientOperationId
92104
105+ -- * TestPermissionsResponse
106+ , TestPermissionsResponse
107+ , testPermissionsResponse
108+ , tprPermissions
109+
93110 -- * DeploymentsPatchCreatePolicy
94111 , DeploymentsPatchCreatePolicy (..)
95112
@@ -110,6 +127,7 @@ module Network.Google.DeploymentManager.Types
110127 , resourceUpdate
111128 , ruState
112129 , ruError
130+ , ruAccessControl
113131 , ruWarnings
114132 , ruIntent
115133 , ruManifest
@@ -122,6 +140,22 @@ module Network.Google.DeploymentManager.Types
122140 , dleValue
123141 , dleKey
124142
143+ -- * Rule
144+ , Rule
145+ , rule
146+ , rAction
147+ , rNotIns
148+ , rIns
149+ , rLogConfigs
150+ , rConditions
151+ , rPermissions
152+ , rDescription
153+
154+ -- * TestPermissionsRequest
155+ , TestPermissionsRequest
156+ , testPermissionsRequest
157+ , tPermissions
158+
125159 -- * Manifest
126160 , Manifest
127161 , manifest
@@ -150,6 +184,7 @@ module Network.Google.DeploymentManager.Types
150184 , Resource
151185 , resource
152186 , rInsertTime
187+ , rAccessControl
153188 , rURL
154189 , rWarnings
155190 , rUpdateTime
@@ -185,10 +220,21 @@ module Network.Google.DeploymentManager.Types
185220 , operationError
186221 , oeErrors
187222
223+ -- * Policy
224+ , Policy
225+ , policy
226+ , pAuditConfigs
227+ , pEtag
228+ , pRules
229+ , pVersion
230+ , pBindings
231+ , pIAMOwned
232+
188233 -- * Type
189234 , Type
190235 , type'
191236 , tInsertTime
237+ , tOperation
192238 , tSelfLink
193239 , tName
194240 , tId
@@ -222,6 +268,16 @@ module Network.Google.DeploymentManager.Types
222268 , resourceUpdateError
223269 , rueErrors
224270
271+ -- * Condition
272+ , Condition
273+ , condition
274+ , cOp
275+ , cIAM
276+ , cValues
277+ , cValue
278+ , cSys
279+ , cSvc
280+
225281 -- * DeploymentsListResponse
226282 , DeploymentsListResponse
227283 , deploymentsListResponse
@@ -235,6 +291,16 @@ module Network.Google.DeploymentManager.Types
235291 , rwiCode
236292 , rwiMessage
237293
294+ -- * LogConfig
295+ , LogConfig
296+ , logConfig
297+ , lcCounter
298+
299+ -- * ResourceAccessControl
300+ , ResourceAccessControl
301+ , resourceAccessControl
302+ , racGcpIAMPolicy
303+
238304 -- * TargetConfiguration
239305 , TargetConfiguration
240306 , targetConfiguration
@@ -248,6 +314,12 @@ module Network.Google.DeploymentManager.Types
248314 , owiCode
249315 , owiMessage
250316
317+ -- * Binding
318+ , Binding
319+ , binding
320+ , bMembers
321+ , bRole
322+
251323 -- * Deployment
252324 , Deployment
253325 , deployment
gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types/Product.hs+686−7
@@ -104,6 +104,62 @@ instance ToJSON ConfigFile where
104104 toJSON ConfigFile'{..}
105105 = object (catMaybes [("content" .=) <$> _cfContent])
106106
107+-- | Enables \"data access\" audit logging for a service and specifies a list
108+-- of members that are log-exempted.
109+--
110+-- /See:/ 'auditConfig' smart constructor.
111+data AuditConfig = AuditConfig'
112+ { _acService :: !(Maybe Text)
113+ , _acExemptedMembers :: !(Maybe [Text])
114+ } deriving (Eq,Show,Data,Typeable,Generic)
115+
116+-- | Creates a value of 'AuditConfig' with the minimum fields required to make a request.
117+--
118+-- Use one of the following lenses to modify other fields as desired:
119+--
120+-- * 'acService'
121+--
122+-- * 'acExemptedMembers'
123+auditConfig
124+ :: AuditConfig
125+auditConfig =
126+ AuditConfig'
127+ { _acService = Nothing
128+ , _acExemptedMembers = Nothing
129+ }
130+
131+-- | Specifies a service that will be enabled for \"data access\" audit
132+-- logging. For example, \`resourcemanager\`, \`storage\`, \`compute\`.
133+-- \`allServices\` is a special value that covers all services.
134+acService :: Lens' AuditConfig (Maybe Text)
135+acService
136+ = lens _acService (\ s a -> s{_acService = a})
137+
138+-- | Specifies the identities that are exempted from \"data access\" audit
139+-- logging for the \`service\` specified above. Follows the same format of
140+-- Binding.members.
141+acExemptedMembers :: Lens' AuditConfig [Text]
142+acExemptedMembers
143+ = lens _acExemptedMembers
144+ (\ s a -> s{_acExemptedMembers = a})
145+ . _Default
146+ . _Coerce
147+
148+instance FromJSON AuditConfig where
149+ parseJSON
150+ = withObject "AuditConfig"
151+ (\ o ->
152+ AuditConfig' <$>
153+ (o .:? "service") <*>
154+ (o .:? "exemptedMembers" .!= mempty))
155+
156+instance ToJSON AuditConfig where
157+ toJSON AuditConfig'{..}
158+ = object
159+ (catMaybes
160+ [("service" .=) <$> _acService,
161+ ("exemptedMembers" .=) <$> _acExemptedMembers])
162+
107163-- | A response containing a partial list of operations and a page token used
108164-- to build the next request if the request has been truncated.
109165--
@@ -262,6 +318,53 @@ instance ToJSON TypesListResponse where
262318 [("nextPageToken" .=) <$> _tlrNextPageToken,
263319 ("types" .=) <$> _tlrTypes])
264320
321+-- | Options for counters
322+--
323+-- /See:/ 'logConfigCounterOptions' smart constructor.
324+data LogConfigCounterOptions = LogConfigCounterOptions'
325+ { _lccoField :: !(Maybe Text)
326+ , _lccoMetric :: !(Maybe Text)
327+ } deriving (Eq,Show,Data,Typeable,Generic)
328+
329+-- | Creates a value of 'LogConfigCounterOptions' with the minimum fields required to make a request.
330+--
331+-- Use one of the following lenses to modify other fields as desired:
332+--
333+-- * 'lccoField'
334+--
335+-- * 'lccoMetric'
336+logConfigCounterOptions
337+ :: LogConfigCounterOptions
338+logConfigCounterOptions =
339+ LogConfigCounterOptions'
340+ { _lccoField = Nothing
341+ , _lccoMetric = Nothing
342+ }
343+
344+-- | The field value to attribute.
345+lccoField :: Lens' LogConfigCounterOptions (Maybe Text)
346+lccoField
347+ = lens _lccoField (\ s a -> s{_lccoField = a})
348+
349+-- | The metric to update.
350+lccoMetric :: Lens' LogConfigCounterOptions (Maybe Text)
351+lccoMetric
352+ = lens _lccoMetric (\ s a -> s{_lccoMetric = a})
353+
354+instance FromJSON LogConfigCounterOptions where
355+ parseJSON
356+ = withObject "LogConfigCounterOptions"
357+ (\ o ->
358+ LogConfigCounterOptions' <$>
359+ (o .:? "field") <*> (o .:? "metric"))
360+
361+instance ToJSON LogConfigCounterOptions where
362+ toJSON LogConfigCounterOptions'{..}
363+ = object
364+ (catMaybes
365+ [("field" .=) <$> _lccoField,
366+ ("metric" .=) <$> _lccoMetric])
367+
265368-- | An Operation resource, used to manage asynchronous API requests.
266369--
267370-- /See:/ 'operation' smart constructor.
@@ -498,7 +601,9 @@ oDescription :: Lens' Operation (Maybe Text)
498601oDescription
499602 = lens _oDescription (\ s a -> s{_oDescription = a})
500603
501−-- | [Output Only] The URL of the resource that the operation modifies.
604+-- | [Output Only] The URL of the resource that the operation modifies. If
605+-- creating a persistent disk snapshot, this points to the persistent disk
606+-- that the snapshot was created from.
502607oTargetLink :: Lens' Operation (Maybe Text)
503608oTargetLink
504609 = lens _oTargetLink (\ s a -> s{_oTargetLink = a})
@@ -563,6 +668,45 @@ instance ToJSON Operation where
563668 ("targetLink" .=) <$> _oTargetLink,
564669 ("clientOperationId" .=) <$> _oClientOperationId])
565670
671+--
672+-- /See:/ 'testPermissionsResponse' smart constructor.
673+newtype TestPermissionsResponse = TestPermissionsResponse'
674+ { _tprPermissions :: Maybe [Text]
675+ } deriving (Eq,Show,Data,Typeable,Generic)
676+
677+-- | Creates a value of 'TestPermissionsResponse' with the minimum fields required to make a request.
678+--
679+-- Use one of the following lenses to modify other fields as desired:
680+--
681+-- * 'tprPermissions'
682+testPermissionsResponse
683+ :: TestPermissionsResponse
684+testPermissionsResponse =
685+ TestPermissionsResponse'
686+ { _tprPermissions = Nothing
687+ }
688+
689+-- | A subset of \`TestPermissionsRequest.permissions\` that the caller is
690+-- allowed.
691+tprPermissions :: Lens' TestPermissionsResponse [Text]
692+tprPermissions
693+ = lens _tprPermissions
694+ (\ s a -> s{_tprPermissions = a})
695+ . _Default
696+ . _Coerce
697+
698+instance FromJSON TestPermissionsResponse where
699+ parseJSON
700+ = withObject "TestPermissionsResponse"
701+ (\ o ->
702+ TestPermissionsResponse' <$>
703+ (o .:? "permissions" .!= mempty))
704+
705+instance ToJSON TestPermissionsResponse where
706+ toJSON TestPermissionsResponse'{..}
707+ = object
708+ (catMaybes [("permissions" .=) <$> _tprPermissions])
709+
566710-- | A response containing a partial list of resources and a page token used
567711-- to build the next request if the request has been truncated.
568712--
@@ -676,6 +820,7 @@ instance ToJSON DeploymentUpdate where
676820data ResourceUpdate = ResourceUpdate'
677821 { _ruState :: !(Maybe Text)
678822 , _ruError :: !(Maybe ResourceUpdateError)
823+ , _ruAccessControl :: !(Maybe ResourceAccessControl)
679824 , _ruWarnings :: !(Maybe [ResourceUpdateWarningsItem])
680825 , _ruIntent :: !(Maybe Text)
681826 , _ruManifest :: !(Maybe Text)
@@ -691,6 +836,8 @@ data ResourceUpdate = ResourceUpdate'
691836--
692837-- * 'ruError'
693838--
839+-- * 'ruAccessControl'
840+--
694841-- * 'ruWarnings'
695842--
696843-- * 'ruIntent'
@@ -706,6 +853,7 @@ resourceUpdate =
706853 ResourceUpdate'
707854 { _ruState = Nothing
708855 , _ruError = Nothing
856+ , _ruAccessControl = Nothing
709857 , _ruWarnings = Nothing
710858 , _ruIntent = Nothing
711859 , _ruManifest = Nothing
@@ -722,6 +870,13 @@ ruState = lens _ruState (\ s a -> s{_ruState = a})
722870ruError :: Lens' ResourceUpdate (Maybe ResourceUpdateError)
723871ruError = lens _ruError (\ s a -> s{_ruError = a})
724872
873+-- | The Access Control Policy to set on this resource after updating the
874+-- resource itself.
875+ruAccessControl :: Lens' ResourceUpdate (Maybe ResourceAccessControl)
876+ruAccessControl
877+ = lens _ruAccessControl
878+ (\ s a -> s{_ruAccessControl = a})
879+
725880-- | [Output Only] If warning messages are generated during processing of
726881-- this resource, this field will be populated.
727882ruWarnings :: Lens' ResourceUpdate [ResourceUpdateWarningsItem]
@@ -759,7 +914,8 @@ instance FromJSON ResourceUpdate where
759914 (\ o ->
760915 ResourceUpdate' <$>
761916 (o .:? "state") <*> (o .:? "error") <*>
762− (o .:? "warnings" .!= mempty)
917+ (o .:? "accessControl")
918+ <*> (o .:? "warnings" .!= mempty)
763919 <*> (o .:? "intent")
764920 <*> (o .:? "manifest")
765921 <*> (o .:? "finalProperties")
@@ -771,6 +927,7 @@ instance ToJSON ResourceUpdate where
771927 (catMaybes
772928 [("state" .=) <$> _ruState,
773929 ("error" .=) <$> _ruError,
930+ ("accessControl" .=) <$> _ruAccessControl,
774931 ("warnings" .=) <$> _ruWarnings,
775932 ("intent" .=) <$> _ruIntent,
776933 ("manifest" .=) <$> _ruManifest,
@@ -818,6 +975,157 @@ instance ToJSON DeploymentLabelEntry where
818975 (catMaybes
819976 [("value" .=) <$> _dleValue, ("key" .=) <$> _dleKey])
820977
978+-- | A rule to be applied in a Policy.
979+--
980+-- /See:/ 'rule' smart constructor.
981+data Rule = Rule'
982+ { _rAction :: !(Maybe Text)
983+ , _rNotIns :: !(Maybe [Text])
984+ , _rIns :: !(Maybe [Text])
985+ , _rLogConfigs :: !(Maybe [LogConfig])
986+ , _rConditions :: !(Maybe [Condition])
987+ , _rPermissions :: !(Maybe [Text])
988+ , _rDescription :: !(Maybe Text)
989+ } deriving (Eq,Show,Data,Typeable,Generic)
990+
991+-- | Creates a value of 'Rule' with the minimum fields required to make a request.
992+--
993+-- Use one of the following lenses to modify other fields as desired:
994+--
995+-- * 'rAction'
996+--
997+-- * 'rNotIns'
998+--
999+-- * 'rIns'
1000+--
1001+-- * 'rLogConfigs'
1002+--
1003+-- * 'rConditions'
1004+--
1005+-- * 'rPermissions'
1006+--
1007+-- * 'rDescription'
1008+rule
1009+ :: Rule
1010+rule =
1011+ Rule'
1012+ { _rAction = Nothing
1013+ , _rNotIns = Nothing
1014+ , _rIns = Nothing
1015+ , _rLogConfigs = Nothing
1016+ , _rConditions = Nothing
1017+ , _rPermissions = Nothing
1018+ , _rDescription = Nothing
1019+ }
1020+
1021+-- | Required
1022+rAction :: Lens' Rule (Maybe Text)
1023+rAction = lens _rAction (\ s a -> s{_rAction = a})
1024+
1025+-- | If one or more \'not_in\' clauses are specified, the rule matches if the
1026+-- PRINCIPAL\/AUTHORITY_SELECTOR is in none of the entries.
1027+rNotIns :: Lens' Rule [Text]
1028+rNotIns
1029+ = lens _rNotIns (\ s a -> s{_rNotIns = a}) . _Default
1030+ . _Coerce
1031+
1032+-- | If one or more \'in\' clauses are specified, the rule matches if the
1033+-- PRINCIPAL\/AUTHORITY_SELECTOR is in at least one of these entries.
1034+rIns :: Lens' Rule [Text]
1035+rIns
1036+ = lens _rIns (\ s a -> s{_rIns = a}) . _Default .
1037+ _Coerce
1038+
1039+-- | The config returned to callers of tech.iam.IAM.CheckPolicy for any
1040+-- entries that match the LOG action.
1041+rLogConfigs :: Lens' Rule [LogConfig]
1042+rLogConfigs
1043+ = lens _rLogConfigs (\ s a -> s{_rLogConfigs = a}) .
1044+ _Default
1045+ . _Coerce
1046+
1047+-- | Additional restrictions that must be met
1048+rConditions :: Lens' Rule [Condition]
1049+rConditions
1050+ = lens _rConditions (\ s a -> s{_rConditions = a}) .
1051+ _Default
1052+ . _Coerce
1053+
1054+-- | A permission is a string of form \'..\' (e.g.,
1055+-- \'storage.buckets.list\'). A value of \'*\' matches all permissions, and
1056+-- a verb part of \'*\' (e.g., \'storage.buckets.*\') matches all verbs.
1057+rPermissions :: Lens' Rule [Text]
1058+rPermissions
1059+ = lens _rPermissions (\ s a -> s{_rPermissions = a})
1060+ . _Default
1061+ . _Coerce
1062+
1063+-- | Human-readable description of the rule.
1064+rDescription :: Lens' Rule (Maybe Text)
1065+rDescription
1066+ = lens _rDescription (\ s a -> s{_rDescription = a})
1067+
1068+instance FromJSON Rule where
1069+ parseJSON
1070+ = withObject "Rule"
1071+ (\ o ->
1072+ Rule' <$>
1073+ (o .:? "action") <*> (o .:? "notIns" .!= mempty) <*>
1074+ (o .:? "ins" .!= mempty)
1075+ <*> (o .:? "logConfigs" .!= mempty)
1076+ <*> (o .:? "conditions" .!= mempty)
1077+ <*> (o .:? "permissions" .!= mempty)
1078+ <*> (o .:? "description"))
1079+
1080+instance ToJSON Rule where
1081+ toJSON Rule'{..}
1082+ = object
1083+ (catMaybes
1084+ [("action" .=) <$> _rAction,
1085+ ("notIns" .=) <$> _rNotIns, ("ins" .=) <$> _rIns,
1086+ ("logConfigs" .=) <$> _rLogConfigs,
1087+ ("conditions" .=) <$> _rConditions,
1088+ ("permissions" .=) <$> _rPermissions,
1089+ ("description" .=) <$> _rDescription])
1090+
1091+--
1092+-- /See:/ 'testPermissionsRequest' smart constructor.
1093+newtype TestPermissionsRequest = TestPermissionsRequest'
1094+ { _tPermissions :: Maybe [Text]
1095+ } deriving (Eq,Show,Data,Typeable,Generic)
1096+
1097+-- | Creates a value of 'TestPermissionsRequest' with the minimum fields required to make a request.
1098+--
1099+-- Use one of the following lenses to modify other fields as desired:
1100+--
1101+-- * 'tPermissions'
1102+testPermissionsRequest
1103+ :: TestPermissionsRequest
1104+testPermissionsRequest =
1105+ TestPermissionsRequest'
1106+ { _tPermissions = Nothing
1107+ }
1108+
1109+-- | The set of permissions to check for the \'resource\'. Permissions with
1110+-- wildcards (such as \'*\' or \'storage.*\') are not allowed.
1111+tPermissions :: Lens' TestPermissionsRequest [Text]
1112+tPermissions
1113+ = lens _tPermissions (\ s a -> s{_tPermissions = a})
1114+ . _Default
1115+ . _Coerce
1116+
1117+instance FromJSON TestPermissionsRequest where
1118+ parseJSON
1119+ = withObject "TestPermissionsRequest"
1120+ (\ o ->
1121+ TestPermissionsRequest' <$>
1122+ (o .:? "permissions" .!= mempty))
1123+
1124+instance ToJSON TestPermissionsRequest where
1125+ toJSON TestPermissionsRequest'{..}
1126+ = object
1127+ (catMaybes [("permissions" .=) <$> _tPermissions])
1128+
8211129-- |
8221130--
8231131-- /See:/ 'manifest' smart constructor.
@@ -1045,6 +1353,7 @@ instance ToJSON DeploymentsCancelPreviewRequest where
10451353-- /See:/ 'resource' smart constructor.
10461354data Resource = Resource'
10471355 { _rInsertTime :: !(Maybe Text)
1356+ , _rAccessControl :: !(Maybe ResourceAccessControl)
10481357 , _rURL :: !(Maybe Text)
10491358 , _rWarnings :: !(Maybe [ResourceWarningsItem])
10501359 , _rUpdateTime :: !(Maybe Text)
@@ -1063,6 +1372,8 @@ data Resource = Resource'
10631372--
10641373-- * 'rInsertTime'
10651374--
1375+-- * 'rAccessControl'
1376+--
10661377-- * 'rURL'
10671378--
10681379-- * 'rWarnings'
@@ -1087,6 +1398,7 @@ resource
10871398resource =
10881399 Resource'
10891400 { _rInsertTime = Nothing
1401+ , _rAccessControl = Nothing
10901402 , _rURL = Nothing
10911403 , _rWarnings = Nothing
10921404 , _rUpdateTime = Nothing
@@ -1105,6 +1417,12 @@ rInsertTime :: Lens' Resource (Maybe Text)
11051417rInsertTime
11061418 = lens _rInsertTime (\ s a -> s{_rInsertTime = a})
11071419
1420+-- | The Access Control Policy set on this resource.
1421+rAccessControl :: Lens' Resource (Maybe ResourceAccessControl)
1422+rAccessControl
1423+ = lens _rAccessControl
1424+ (\ s a -> s{_rAccessControl = a})
1425+
11081426-- | [Output Only] The URL of the actual resource.
11091427rURL :: Lens' Resource (Maybe Text)
11101428rURL = lens _rURL (\ s a -> s{_rURL = a})
@@ -1146,7 +1464,7 @@ rId
11461464 = lens _rId (\ s a -> s{_rId = a}) . mapping _Coerce
11471465
11481466-- | [Output Only] The type of the resource, for example compute.v1.instance,
1149−-- or replicaPools.v1beta2.instanceGroupManager.
1467+-- or cloudfunctions.v1beta1.function.
11501468rType :: Lens' Resource (Maybe Text)
11511469rType = lens _rType (\ s a -> s{_rType = a})
11521470
@@ -1166,8 +1484,9 @@ instance FromJSON Resource where
11661484 = withObject "Resource"
11671485 (\ o ->
11681486 Resource' <$>
1169− (o .:? "insertTime") <*> (o .:? "url") <*>
1170− (o .:? "warnings" .!= mempty)
1487+ (o .:? "insertTime") <*> (o .:? "accessControl") <*>
1488+ (o .:? "url")
1489+ <*> (o .:? "warnings" .!= mempty)
11711490 <*> (o .:? "updateTime")
11721491 <*> (o .:? "name")
11731492 <*> (o .:? "manifest")
@@ -1182,6 +1501,7 @@ instance ToJSON Resource where
11821501 = object
11831502 (catMaybes
11841503 [("insertTime" .=) <$> _rInsertTime,
1504+ ("accessControl" .=) <$> _rAccessControl,
11851505 ("url" .=) <$> _rURL, ("warnings" .=) <$> _rWarnings,
11861506 ("updateTime" .=) <$> _rUpdateTime,
11871507 ("name" .=) <$> _rName,
@@ -1383,11 +1703,142 @@ instance ToJSON OperationError where
13831703 toJSON OperationError'{..}
13841704 = object (catMaybes [("errors" .=) <$> _oeErrors])
13851705
1706+-- | Defines an Identity and Access Management (IAM) policy. It is used to
1707+-- specify access control policies for Cloud Platform resources. A
1708+-- \`Policy\` consists of a list of \`bindings\`. A \`Binding\` binds a
1709+-- list of \`members\` to a \`role\`, where the members can be user
1710+-- accounts, Google groups, Google domains, and service accounts. A
1711+-- \`role\` is a named list of permissions defined by IAM. **Example** {
1712+-- \"bindings\": [ { \"role\": \"roles\/owner\", \"members\": [
1713+-- \"user:mike\'example.com\", \"group:admins\'example.com\",
1714+-- \"domain:google.com\",
1715+-- \"serviceAccount:my-other-app\'appspot.gserviceaccount.com\", ] }, {
1716+-- \"role\": \"roles\/viewer\", \"members\": [\"user:sean\'example.com\"] }
1717+-- ] } For a description of IAM and its features, see the [IAM developer\'s
1718+-- guide](https:\/\/cloud.google.com\/iam).
1719+--
1720+-- /See:/ 'policy' smart constructor.
1721+data Policy = Policy'
1722+ { _pAuditConfigs :: !(Maybe [AuditConfig])
1723+ , _pEtag :: !(Maybe Base64)
1724+ , _pRules :: !(Maybe [Rule])
1725+ , _pVersion :: !(Maybe (Textual Int32))
1726+ , _pBindings :: !(Maybe [Binding])
1727+ , _pIAMOwned :: !(Maybe Bool)
1728+ } deriving (Eq,Show,Data,Typeable,Generic)
1729+
1730+-- | Creates a value of 'Policy' with the minimum fields required to make a request.
1731+--
1732+-- Use one of the following lenses to modify other fields as desired:
1733+--
1734+-- * 'pAuditConfigs'
1735+--
1736+-- * 'pEtag'
1737+--
1738+-- * 'pRules'
1739+--
1740+-- * 'pVersion'
1741+--
1742+-- * 'pBindings'
1743+--
1744+-- * 'pIAMOwned'
1745+policy
1746+ :: Policy
1747+policy =
1748+ Policy'
1749+ { _pAuditConfigs = Nothing
1750+ , _pEtag = Nothing
1751+ , _pRules = Nothing
1752+ , _pVersion = Nothing
1753+ , _pBindings = Nothing
1754+ , _pIAMOwned = Nothing
1755+ }
1756+
1757+-- | Specifies audit logging configs for \"data access\". \"data access\":
1758+-- generally refers to data reads\/writes and admin reads. \"admin
1759+-- activity\": generally refers to admin writes. Note: \`AuditConfig\`
1760+-- doesn\'t apply to \"admin activity\", which always enables audit
1761+-- logging.
1762+pAuditConfigs :: Lens' Policy [AuditConfig]
1763+pAuditConfigs
1764+ = lens _pAuditConfigs
1765+ (\ s a -> s{_pAuditConfigs = a})
1766+ . _Default
1767+ . _Coerce
1768+
1769+-- | \`etag\` is used for optimistic concurrency control as a way to help
1770+-- prevent simultaneous updates of a policy from overwriting each other. It
1771+-- is strongly suggested that systems make use of the \`etag\` in the
1772+-- read-modify-write cycle to perform policy updates in order to avoid race
1773+-- conditions: An \`etag\` is returned in the response to \`getIamPolicy\`,
1774+-- and systems are expected to put that etag in the request to
1775+-- \`setIamPolicy\` to ensure that their change will be applied to the same
1776+-- version of the policy. If no \`etag\` is provided in the call to
1777+-- \`setIamPolicy\`, then the existing policy is overwritten blindly.
1778+pEtag :: Lens' Policy (Maybe ByteString)
1779+pEtag
1780+ = lens _pEtag (\ s a -> s{_pEtag = a}) .
1781+ mapping _Base64
1782+
1783+-- | If more than one rule is specified, the rules are applied in the
1784+-- following manner: - All matching LOG rules are always applied. - If any
1785+-- DENY\/DENY_WITH_LOG rule matches, permission is denied. Logging will be
1786+-- applied if one or more matching rule requires logging. - Otherwise, if
1787+-- any ALLOW\/ALLOW_WITH_LOG rule matches, permission is granted. Logging
1788+-- will be applied if one or more matching rule requires logging. -
1789+-- Otherwise, if no rule applies, permission is denied.
1790+pRules :: Lens' Policy [Rule]
1791+pRules
1792+ = lens _pRules (\ s a -> s{_pRules = a}) . _Default .
1793+ _Coerce
1794+
1795+-- | Version of the \`Policy\`. The default version is 0.
1796+pVersion :: Lens' Policy (Maybe Int32)
1797+pVersion
1798+ = lens _pVersion (\ s a -> s{_pVersion = a}) .
1799+ mapping _Coerce
1800+
1801+-- | Associates a list of \`members\` to a \`role\`. Multiple \`bindings\`
1802+-- must not be specified for the same \`role\`. \`bindings\` with no
1803+-- members will result in an error.
1804+pBindings :: Lens' Policy [Binding]
1805+pBindings
1806+ = lens _pBindings (\ s a -> s{_pBindings = a}) .
1807+ _Default
1808+ . _Coerce
1809+
1810+-- |
1811+pIAMOwned :: Lens' Policy (Maybe Bool)
1812+pIAMOwned
1813+ = lens _pIAMOwned (\ s a -> s{_pIAMOwned = a})
1814+
1815+instance FromJSON Policy where
1816+ parseJSON
1817+ = withObject "Policy"
1818+ (\ o ->
1819+ Policy' <$>
1820+ (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag")
1821+ <*> (o .:? "rules" .!= mempty)
1822+ <*> (o .:? "version")
1823+ <*> (o .:? "bindings" .!= mempty)
1824+ <*> (o .:? "iamOwned"))
1825+
1826+instance ToJSON Policy where
1827+ toJSON Policy'{..}
1828+ = object
1829+ (catMaybes
1830+ [("auditConfigs" .=) <$> _pAuditConfigs,
1831+ ("etag" .=) <$> _pEtag, ("rules" .=) <$> _pRules,
1832+ ("version" .=) <$> _pVersion,
1833+ ("bindings" .=) <$> _pBindings,
1834+ ("iamOwned" .=) <$> _pIAMOwned])
1835+
13861836-- | A resource type supported by Deployment Manager.
13871837--
13881838-- /See:/ 'type'' smart constructor.
13891839data Type = Type'
13901840 { _tInsertTime :: !(Maybe Text)
1841+ , _tOperation :: !(Maybe Operation)
13911842 , _tSelfLink :: !(Maybe Text)
13921843 , _tName :: !(Maybe Text)
13931844 , _tId :: !(Maybe (Textual Word64))
@@ -1399,6 +1850,8 @@ data Type = Type'
13991850--
14001851-- * 'tInsertTime'
14011852--
1853+-- * 'tOperation'
1854+--
14021855-- * 'tSelfLink'
14031856--
14041857-- * 'tName'
@@ -1409,6 +1862,7 @@ type'
14091862type' =
14101863 Type'
14111864 { _tInsertTime = Nothing
1865+ , _tOperation = Nothing
14121866 , _tSelfLink = Nothing
14131867 , _tName = Nothing
14141868 , _tId = Nothing
@@ -1420,6 +1874,12 @@ tInsertTime :: Lens' Type (Maybe Text)
14201874tInsertTime
14211875 = lens _tInsertTime (\ s a -> s{_tInsertTime = a})
14221876
1877+-- | [Output Only] The Operation that most recently ran, or is currently
1878+-- running, on this type.
1879+tOperation :: Lens' Type (Maybe Operation)
1880+tOperation
1881+ = lens _tOperation (\ s a -> s{_tOperation = a})
1882+
14231883-- | [Output Only] Self link for the type.
14241884tSelfLink :: Lens' Type (Maybe Text)
14251885tSelfLink
@@ -1439,8 +1899,9 @@ instance FromJSON Type where
14391899 = withObject "Type"
14401900 (\ o ->
14411901 Type' <$>
1442− (o .:? "insertTime") <*> (o .:? "selfLink") <*>
1443− (o .:? "name")
1902+ (o .:? "insertTime") <*> (o .:? "operation") <*>
1903+ (o .:? "selfLink")
1904+ <*> (o .:? "name")
14441905 <*> (o .:? "id"))
14451906
14461907instance ToJSON Type where
@@ -1448,6 +1909,7 @@ instance ToJSON Type where
14481909 = object
14491910 (catMaybes
14501911 [("insertTime" .=) <$> _tInsertTime,
1912+ ("operation" .=) <$> _tOperation,
14511913 ("selfLink" .=) <$> _tSelfLink,
14521914 ("name" .=) <$> _tName, ("id" .=) <$> _tId])
14531915
@@ -1687,6 +2149,91 @@ instance ToJSON ResourceUpdateError where
16872149 toJSON ResourceUpdateError'{..}
16882150 = object (catMaybes [("errors" .=) <$> _rueErrors])
16892151
2152+-- | A condition to be met.
2153+--
2154+-- /See:/ 'condition' smart constructor.
2155+data Condition = Condition'
2156+ { _cOp :: !(Maybe Text)
2157+ , _cIAM :: !(Maybe Text)
2158+ , _cValues :: !(Maybe [Text])
2159+ , _cValue :: !(Maybe Text)
2160+ , _cSys :: !(Maybe Text)
2161+ , _cSvc :: !(Maybe Text)
2162+ } deriving (Eq,Show,Data,Typeable,Generic)
2163+
2164+-- | Creates a value of 'Condition' with the minimum fields required to make a request.
2165+--
2166+-- Use one of the following lenses to modify other fields as desired:
2167+--
2168+-- * 'cOp'
2169+--
2170+-- * 'cIAM'
2171+--
2172+-- * 'cValues'
2173+--
2174+-- * 'cValue'
2175+--
2176+-- * 'cSys'
2177+--
2178+-- * 'cSvc'
2179+condition
2180+ :: Condition
2181+condition =
2182+ Condition'
2183+ { _cOp = Nothing
2184+ , _cIAM = Nothing
2185+ , _cValues = Nothing
2186+ , _cValue = Nothing
2187+ , _cSys = Nothing
2188+ , _cSvc = Nothing
2189+ }
2190+
2191+-- | An operator to apply the subject with.
2192+cOp :: Lens' Condition (Maybe Text)
2193+cOp = lens _cOp (\ s a -> s{_cOp = a})
2194+
2195+-- | Trusted attributes supplied by the IAM system.
2196+cIAM :: Lens' Condition (Maybe Text)
2197+cIAM = lens _cIAM (\ s a -> s{_cIAM = a})
2198+
2199+-- | The objects of the condition. This is mutually exclusive with \'value\'.
2200+cValues :: Lens' Condition [Text]
2201+cValues
2202+ = lens _cValues (\ s a -> s{_cValues = a}) . _Default
2203+ . _Coerce
2204+
2205+-- | DEPRECATED. Use \'values\' instead.
2206+cValue :: Lens' Condition (Maybe Text)
2207+cValue = lens _cValue (\ s a -> s{_cValue = a})
2208+
2209+-- | Trusted attributes supplied by any service that owns resources and uses
2210+-- the IAM system for access control.
2211+cSys :: Lens' Condition (Maybe Text)
2212+cSys = lens _cSys (\ s a -> s{_cSys = a})
2213+
2214+-- | Trusted attributes discharged by the service.
2215+cSvc :: Lens' Condition (Maybe Text)
2216+cSvc = lens _cSvc (\ s a -> s{_cSvc = a})
2217+
2218+instance FromJSON Condition where
2219+ parseJSON
2220+ = withObject "Condition"
2221+ (\ o ->
2222+ Condition' <$>
2223+ (o .:? "op") <*> (o .:? "iam") <*>
2224+ (o .:? "values" .!= mempty)
2225+ <*> (o .:? "value")
2226+ <*> (o .:? "sys")
2227+ <*> (o .:? "svc"))
2228+
2229+instance ToJSON Condition where
2230+ toJSON Condition'{..}
2231+ = object
2232+ (catMaybes
2233+ [("op" .=) <$> _cOp, ("iam" .=) <$> _cIAM,
2234+ ("values" .=) <$> _cValues, ("value" .=) <$> _cValue,
2235+ ("sys" .=) <$> _cSys, ("svc" .=) <$> _cSvc])
2236+
16902237-- | A response containing a partial list of deployments and a page token
16912238-- used to build the next request if the request has been truncated.
16922239--
@@ -1799,6 +2346,76 @@ instance ToJSON ResourceWarningsItem where
17992346 [("data" .=) <$> _rwiData, ("code" .=) <$> _rwiCode,
18002347 ("message" .=) <$> _rwiMessage])
18012348
2349+-- | Specifies what kind of log the caller must write
2350+--
2351+-- /See:/ 'logConfig' smart constructor.
2352+newtype LogConfig = LogConfig'
2353+ { _lcCounter :: Maybe LogConfigCounterOptions
2354+ } deriving (Eq,Show,Data,Typeable,Generic)
2355+
2356+-- | Creates a value of 'LogConfig' with the minimum fields required to make a request.
2357+--
2358+-- Use one of the following lenses to modify other fields as desired:
2359+--
2360+-- * 'lcCounter'
2361+logConfig
2362+ :: LogConfig
2363+logConfig =
2364+ LogConfig'
2365+ { _lcCounter = Nothing
2366+ }
2367+
2368+-- | Counter options.
2369+lcCounter :: Lens' LogConfig (Maybe LogConfigCounterOptions)
2370+lcCounter
2371+ = lens _lcCounter (\ s a -> s{_lcCounter = a})
2372+
2373+instance FromJSON LogConfig where
2374+ parseJSON
2375+ = withObject "LogConfig"
2376+ (\ o -> LogConfig' <$> (o .:? "counter"))
2377+
2378+instance ToJSON LogConfig where
2379+ toJSON LogConfig'{..}
2380+ = object (catMaybes [("counter" .=) <$> _lcCounter])
2381+
2382+-- | The access controls set on the resource.
2383+--
2384+-- /See:/ 'resourceAccessControl' smart constructor.
2385+newtype ResourceAccessControl = ResourceAccessControl'
2386+ { _racGcpIAMPolicy :: Maybe Text
2387+ } deriving (Eq,Show,Data,Typeable,Generic)
2388+
2389+-- | Creates a value of 'ResourceAccessControl' with the minimum fields required to make a request.
2390+--
2391+-- Use one of the following lenses to modify other fields as desired:
2392+--
2393+-- * 'racGcpIAMPolicy'
2394+resourceAccessControl
2395+ :: ResourceAccessControl
2396+resourceAccessControl =
2397+ ResourceAccessControl'
2398+ { _racGcpIAMPolicy = Nothing
2399+ }
2400+
2401+-- | The GCP IAM Policy to set on the resource.
2402+racGcpIAMPolicy :: Lens' ResourceAccessControl (Maybe Text)
2403+racGcpIAMPolicy
2404+ = lens _racGcpIAMPolicy
2405+ (\ s a -> s{_racGcpIAMPolicy = a})
2406+
2407+instance FromJSON ResourceAccessControl where
2408+ parseJSON
2409+ = withObject "ResourceAccessControl"
2410+ (\ o ->
2411+ ResourceAccessControl' <$> (o .:? "gcpIamPolicy"))
2412+
2413+instance ToJSON ResourceAccessControl where
2414+ toJSON ResourceAccessControl'{..}
2415+ = object
2416+ (catMaybes
2417+ [("gcpIamPolicy" .=) <$> _racGcpIAMPolicy])
2418+
18022419-- |
18032420--
18042421-- /See:/ 'targetConfiguration' smart constructor.
@@ -1908,6 +2525,68 @@ instance ToJSON OperationWarningsItem where
19082525 [("data" .=) <$> _owiData, ("code" .=) <$> _owiCode,
19092526 ("message" .=) <$> _owiMessage])
19102527
2528+-- | Associates \`members\` with a \`role\`.
2529+--
2530+-- /See:/ 'binding' smart constructor.
2531+data Binding = Binding'
2532+ { _bMembers :: !(Maybe [Text])
2533+ , _bRole :: !(Maybe Text)
2534+ } deriving (Eq,Show,Data,Typeable,Generic)
2535+
2536+-- | Creates a value of 'Binding' with the minimum fields required to make a request.
2537+--
2538+-- Use one of the following lenses to modify other fields as desired:
2539+--
2540+-- * 'bMembers'
2541+--
2542+-- * 'bRole'
2543+binding
2544+ :: Binding
2545+binding =
2546+ Binding'
2547+ { _bMembers = Nothing
2548+ , _bRole = Nothing
2549+ }
2550+
2551+-- | Specifies the identities requesting access for a Cloud Platform
2552+-- resource. \`members\` can have the following values: * \`allUsers\`: A
2553+-- special identifier that represents anyone who is on the internet; with
2554+-- or without a Google account. * \`allAuthenticatedUsers\`: A special
2555+-- identifier that represents anyone who is authenticated with a Google
2556+-- account or a service account. * \`user:{emailid}\`: An email address
2557+-- that represents a specific Google account. For example,
2558+-- \`alice\'gmail.com\` or \`joe\'example.com\`. *
2559+-- \`serviceAccount:{emailid}\`: An email address that represents a service
2560+-- account. For example, \`my-other-app\'appspot.gserviceaccount.com\`. *
2561+-- \`group:{emailid}\`: An email address that represents a Google group.
2562+-- For example, \`admins\'example.com\`. * \`domain:{domain}\`: A Google
2563+-- Apps domain name that represents all the users of that domain. For
2564+-- example, \`google.com\` or \`example.com\`.
2565+bMembers :: Lens' Binding [Text]
2566+bMembers
2567+ = lens _bMembers (\ s a -> s{_bMembers = a}) .
2568+ _Default
2569+ . _Coerce
2570+
2571+-- | Role that is assigned to \`members\`. For example, \`roles\/viewer\`,
2572+-- \`roles\/editor\`, or \`roles\/owner\`.
2573+bRole :: Lens' Binding (Maybe Text)
2574+bRole = lens _bRole (\ s a -> s{_bRole = a})
2575+
2576+instance FromJSON Binding where
2577+ parseJSON
2578+ = withObject "Binding"
2579+ (\ o ->
2580+ Binding' <$>
2581+ (o .:? "members" .!= mempty) <*> (o .:? "role"))
2582+
2583+instance ToJSON Binding where
2584+ toJSON Binding'{..}
2585+ = object
2586+ (catMaybes
2587+ [("members" .=) <$> _bMembers,
2588+ ("role" .=) <$> _bRole])
2589+
19112590-- |
19122591--
19132592-- /See:/ 'deployment' smart constructor.
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/GetIAMPolicy.hsnew file+104
@@ -0,0 +1,104 @@
1+{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE FlexibleInstances #-}
5+{-# LANGUAGE NoImplicitPrelude #-}
6+{-# LANGUAGE OverloadedStrings #-}
7+{-# LANGUAGE RecordWildCards #-}
8+{-# LANGUAGE TypeFamilies #-}
9+{-# LANGUAGE TypeOperators #-}
10+
11+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
12+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
13+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
14+
15+-- |
16+-- Module : Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
17+-- Copyright : (c) 2015-2016 Brendan Hay
18+-- License : Mozilla Public License, v. 2.0.
19+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
20+-- Stability : auto-generated
21+-- Portability : non-portable (GHC extensions)
22+--
23+-- Gets the access control policy for a resource. May be empty if no such
24+-- policy or resource exists.
25+--
26+-- /See:/ <https://cloud.google.com/deployment-manager/ Google Cloud Deployment Manager API Reference> for @deploymentmanager.deployments.getIamPolicy@.
27+module Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
28+ (
29+ -- * REST Resource
30+ DeploymentsGetIAMPolicyResource
31+
32+ -- * Creating a Request
33+ , deploymentsGetIAMPolicy
34+ , DeploymentsGetIAMPolicy
35+
36+ -- * Request Lenses
37+ , dgipProject
38+ , dgipResource
39+ ) where
40+
41+import Network.Google.DeploymentManager.Types
42+import Network.Google.Prelude
43+
44+-- | A resource alias for @deploymentmanager.deployments.getIamPolicy@ method which the
45+-- 'DeploymentsGetIAMPolicy' request conforms to.
46+type DeploymentsGetIAMPolicyResource =
47+ "deploymentmanager" :>
48+ "v2" :>
49+ "projects" :>
50+ Capture "project" Text :>
51+ "global" :>
52+ "deployments" :>
53+ Capture "resource" Text :>
54+ "getIamPolicy" :>
55+ QueryParam "alt" AltJSON :> Get '[JSON] Policy
56+
57+-- | Gets the access control policy for a resource. May be empty if no such
58+-- policy or resource exists.
59+--
60+-- /See:/ 'deploymentsGetIAMPolicy' smart constructor.
61+data DeploymentsGetIAMPolicy = DeploymentsGetIAMPolicy'
62+ { _dgipProject :: !Text
63+ , _dgipResource :: !Text
64+ } deriving (Eq,Show,Data,Typeable,Generic)
65+
66+-- | Creates a value of 'DeploymentsGetIAMPolicy' with the minimum fields required to make a request.
67+--
68+-- Use one of the following lenses to modify other fields as desired:
69+--
70+-- * 'dgipProject'
71+--
72+-- * 'dgipResource'
73+deploymentsGetIAMPolicy
74+ :: Text -- ^ 'dgipProject'
75+ -> Text -- ^ 'dgipResource'
76+ -> DeploymentsGetIAMPolicy
77+deploymentsGetIAMPolicy pDgipProject_ pDgipResource_ =
78+ DeploymentsGetIAMPolicy'
79+ { _dgipProject = pDgipProject_
80+ , _dgipResource = pDgipResource_
81+ }
82+
83+-- | Project ID for this request.
84+dgipProject :: Lens' DeploymentsGetIAMPolicy Text
85+dgipProject
86+ = lens _dgipProject (\ s a -> s{_dgipProject = a})
87+
88+-- | Name of the resource for this request.
89+dgipResource :: Lens' DeploymentsGetIAMPolicy Text
90+dgipResource
91+ = lens _dgipResource (\ s a -> s{_dgipResource = a})
92+
93+instance GoogleRequest DeploymentsGetIAMPolicy where
94+ type Rs DeploymentsGetIAMPolicy = Policy
95+ type Scopes DeploymentsGetIAMPolicy =
96+ '["https://www.googleapis.com/auth/cloud-platform",
97+ "https://www.googleapis.com/auth/ndev.cloudman"]
98+ requestClient DeploymentsGetIAMPolicy'{..}
99+ = go _dgipProject _dgipResource (Just AltJSON)
100+ deploymentManagerService
101+ where go
102+ = buildClient
103+ (Proxy :: Proxy DeploymentsGetIAMPolicyResource)
104+ mempty
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/List.hs+6−7
@@ -105,16 +105,15 @@ dlProject
105105-- value is interpreted as a regular expression using RE2 syntax. The
106106-- literal value must match the entire field. For example, to filter for
107107-- instances that do not have a name of example-instance, you would use
108−-- filter=name ne example-instance. Compute Engine Beta API Only: When
109−-- filtering in the Beta API, you can also filter on nested fields. For
108+-- filter=name ne example-instance. You can filter on nested fields. For
110109-- example, you could filter on instances that have set the
111110-- scheduling.automaticRestart field to true. Use filtering on nested
112111-- fields to take advantage of labels to organize and search for results
113−-- based on label values. The Beta API also supports filtering on multiple
114−-- expressions by providing each separate expression within parentheses.
115−-- For example, (scheduling.automaticRestart eq true) (zone eq
116−-- us-central1-f). Multiple expressions are treated as AND expressions,
117−-- meaning that resources must match all expressions to pass the filters.
112+-- based on label values. To filter on multiple expressions, provide each
113+-- separate expression within parentheses. For example,
114+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
115+-- expressions are treated as AND expressions, meaning that resources must
116+-- match all expressions to pass the filters.
118117dlFilter :: Lens' DeploymentsList (Maybe Text)
119118dlFilter = lens _dlFilter (\ s a -> s{_dlFilter = a})
120119
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/SetIAMPolicy.hsnew file+117
@@ -0,0 +1,117 @@
1+{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE FlexibleInstances #-}
5+{-# LANGUAGE NoImplicitPrelude #-}
6+{-# LANGUAGE OverloadedStrings #-}
7+{-# LANGUAGE RecordWildCards #-}
8+{-# LANGUAGE TypeFamilies #-}
9+{-# LANGUAGE TypeOperators #-}
10+
11+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
12+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
13+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
14+
15+-- |
16+-- Module : Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
17+-- Copyright : (c) 2015-2016 Brendan Hay
18+-- License : Mozilla Public License, v. 2.0.
19+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
20+-- Stability : auto-generated
21+-- Portability : non-portable (GHC extensions)
22+--
23+-- Sets the access control policy on the specified resource. Replaces any
24+-- existing policy.
25+--
26+-- /See:/ <https://cloud.google.com/deployment-manager/ Google Cloud Deployment Manager API Reference> for @deploymentmanager.deployments.setIamPolicy@.
27+module Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
28+ (
29+ -- * REST Resource
30+ DeploymentsSetIAMPolicyResource
31+
32+ -- * Creating a Request
33+ , deploymentsSetIAMPolicy
34+ , DeploymentsSetIAMPolicy
35+
36+ -- * Request Lenses
37+ , dsipProject
38+ , dsipPayload
39+ , dsipResource
40+ ) where
41+
42+import Network.Google.DeploymentManager.Types
43+import Network.Google.Prelude
44+
45+-- | A resource alias for @deploymentmanager.deployments.setIamPolicy@ method which the
46+-- 'DeploymentsSetIAMPolicy' request conforms to.
47+type DeploymentsSetIAMPolicyResource =
48+ "deploymentmanager" :>
49+ "v2" :>
50+ "projects" :>
51+ Capture "project" Text :>
52+ "global" :>
53+ "deployments" :>
54+ Capture "resource" Text :>
55+ "setIamPolicy" :>
56+ QueryParam "alt" AltJSON :>
57+ ReqBody '[JSON] Policy :> Post '[JSON] Policy
58+
59+-- | Sets the access control policy on the specified resource. Replaces any
60+-- existing policy.
61+--
62+-- /See:/ 'deploymentsSetIAMPolicy' smart constructor.
63+data DeploymentsSetIAMPolicy = DeploymentsSetIAMPolicy'
64+ { _dsipProject :: !Text
65+ , _dsipPayload :: !Policy
66+ , _dsipResource :: !Text
67+ } deriving (Eq,Show,Data,Typeable,Generic)
68+
69+-- | Creates a value of 'DeploymentsSetIAMPolicy' with the minimum fields required to make a request.
70+--
71+-- Use one of the following lenses to modify other fields as desired:
72+--
73+-- * 'dsipProject'
74+--
75+-- * 'dsipPayload'
76+--
77+-- * 'dsipResource'
78+deploymentsSetIAMPolicy
79+ :: Text -- ^ 'dsipProject'
80+ -> Policy -- ^ 'dsipPayload'
81+ -> Text -- ^ 'dsipResource'
82+ -> DeploymentsSetIAMPolicy
83+deploymentsSetIAMPolicy pDsipProject_ pDsipPayload_ pDsipResource_ =
84+ DeploymentsSetIAMPolicy'
85+ { _dsipProject = pDsipProject_
86+ , _dsipPayload = pDsipPayload_
87+ , _dsipResource = pDsipResource_
88+ }
89+
90+-- | Project ID for this request.
91+dsipProject :: Lens' DeploymentsSetIAMPolicy Text
92+dsipProject
93+ = lens _dsipProject (\ s a -> s{_dsipProject = a})
94+
95+-- | Multipart request metadata.
96+dsipPayload :: Lens' DeploymentsSetIAMPolicy Policy
97+dsipPayload
98+ = lens _dsipPayload (\ s a -> s{_dsipPayload = a})
99+
100+-- | Name of the resource for this request.
101+dsipResource :: Lens' DeploymentsSetIAMPolicy Text
102+dsipResource
103+ = lens _dsipResource (\ s a -> s{_dsipResource = a})
104+
105+instance GoogleRequest DeploymentsSetIAMPolicy where
106+ type Rs DeploymentsSetIAMPolicy = Policy
107+ type Scopes DeploymentsSetIAMPolicy =
108+ '["https://www.googleapis.com/auth/cloud-platform",
109+ "https://www.googleapis.com/auth/ndev.cloudman"]
110+ requestClient DeploymentsSetIAMPolicy'{..}
111+ = go _dsipProject _dsipResource (Just AltJSON)
112+ _dsipPayload
113+ deploymentManagerService
114+ where go
115+ = buildClient
116+ (Proxy :: Proxy DeploymentsSetIAMPolicyResource)
117+ mempty
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/TestIAMPermissions.hsnew file+119
@@ -0,0 +1,119 @@
1+{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE FlexibleInstances #-}
5+{-# LANGUAGE NoImplicitPrelude #-}
6+{-# LANGUAGE OverloadedStrings #-}
7+{-# LANGUAGE RecordWildCards #-}
8+{-# LANGUAGE TypeFamilies #-}
9+{-# LANGUAGE TypeOperators #-}
10+
11+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
12+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
13+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
14+
15+-- |
16+-- Module : Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
17+-- Copyright : (c) 2015-2016 Brendan Hay
18+-- License : Mozilla Public License, v. 2.0.
19+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
20+-- Stability : auto-generated
21+-- Portability : non-portable (GHC extensions)
22+--
23+-- Returns permissions that a caller has on the specified resource.
24+--
25+-- /See:/ <https://cloud.google.com/deployment-manager/ Google Cloud Deployment Manager API Reference> for @deploymentmanager.deployments.testIamPermissions@.
26+module Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
27+ (
28+ -- * REST Resource
29+ DeploymentsTestIAMPermissionsResource
30+
31+ -- * Creating a Request
32+ , deploymentsTestIAMPermissions
33+ , DeploymentsTestIAMPermissions
34+
35+ -- * Request Lenses
36+ , dtipProject
37+ , dtipPayload
38+ , dtipResource
39+ ) where
40+
41+import Network.Google.DeploymentManager.Types
42+import Network.Google.Prelude
43+
44+-- | A resource alias for @deploymentmanager.deployments.testIamPermissions@ method which the
45+-- 'DeploymentsTestIAMPermissions' request conforms to.
46+type DeploymentsTestIAMPermissionsResource =
47+ "deploymentmanager" :>
48+ "v2" :>
49+ "projects" :>
50+ Capture "project" Text :>
51+ "global" :>
52+ "deployments" :>
53+ Capture "resource" Text :>
54+ "testIamPermissions" :>
55+ QueryParam "alt" AltJSON :>
56+ ReqBody '[JSON] TestPermissionsRequest :>
57+ Post '[JSON] TestPermissionsResponse
58+
59+-- | Returns permissions that a caller has on the specified resource.
60+--
61+-- /See:/ 'deploymentsTestIAMPermissions' smart constructor.
62+data DeploymentsTestIAMPermissions = DeploymentsTestIAMPermissions'
63+ { _dtipProject :: !Text
64+ , _dtipPayload :: !TestPermissionsRequest
65+ , _dtipResource :: !Text
66+ } deriving (Eq,Show,Data,Typeable,Generic)
67+
68+-- | Creates a value of 'DeploymentsTestIAMPermissions' with the minimum fields required to make a request.
69+--
70+-- Use one of the following lenses to modify other fields as desired:
71+--
72+-- * 'dtipProject'
73+--
74+-- * 'dtipPayload'
75+--
76+-- * 'dtipResource'
77+deploymentsTestIAMPermissions
78+ :: Text -- ^ 'dtipProject'
79+ -> TestPermissionsRequest -- ^ 'dtipPayload'
80+ -> Text -- ^ 'dtipResource'
81+ -> DeploymentsTestIAMPermissions
82+deploymentsTestIAMPermissions pDtipProject_ pDtipPayload_ pDtipResource_ =
83+ DeploymentsTestIAMPermissions'
84+ { _dtipProject = pDtipProject_
85+ , _dtipPayload = pDtipPayload_
86+ , _dtipResource = pDtipResource_
87+ }
88+
89+-- | Project ID for this request.
90+dtipProject :: Lens' DeploymentsTestIAMPermissions Text
91+dtipProject
92+ = lens _dtipProject (\ s a -> s{_dtipProject = a})
93+
94+-- | Multipart request metadata.
95+dtipPayload :: Lens' DeploymentsTestIAMPermissions TestPermissionsRequest
96+dtipPayload
97+ = lens _dtipPayload (\ s a -> s{_dtipPayload = a})
98+
99+-- | Name of the resource for this request.
100+dtipResource :: Lens' DeploymentsTestIAMPermissions Text
101+dtipResource
102+ = lens _dtipResource (\ s a -> s{_dtipResource = a})
103+
104+instance GoogleRequest DeploymentsTestIAMPermissions
105+ where
106+ type Rs DeploymentsTestIAMPermissions =
107+ TestPermissionsResponse
108+ type Scopes DeploymentsTestIAMPermissions =
109+ '["https://www.googleapis.com/auth/cloud-platform",
110+ "https://www.googleapis.com/auth/ndev.cloudman"]
111+ requestClient DeploymentsTestIAMPermissions'{..}
112+ = go _dtipProject _dtipResource (Just AltJSON)
113+ _dtipPayload
114+ deploymentManagerService
115+ where go
116+ = buildClient
117+ (Proxy ::
118+ Proxy DeploymentsTestIAMPermissionsResource)
119+ mempty
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Manifests/List.hs+6−7
@@ -113,16 +113,15 @@ mlProject
113113-- value is interpreted as a regular expression using RE2 syntax. The
114114-- literal value must match the entire field. For example, to filter for
115115-- instances that do not have a name of example-instance, you would use
116−-- filter=name ne example-instance. Compute Engine Beta API Only: When
117−-- filtering in the Beta API, you can also filter on nested fields. For
116+-- filter=name ne example-instance. You can filter on nested fields. For
118117-- example, you could filter on instances that have set the
119118-- scheduling.automaticRestart field to true. Use filtering on nested
120119-- fields to take advantage of labels to organize and search for results
121−-- based on label values. The Beta API also supports filtering on multiple
122−-- expressions by providing each separate expression within parentheses.
123−-- For example, (scheduling.automaticRestart eq true) (zone eq
124−-- us-central1-f). Multiple expressions are treated as AND expressions,
125−-- meaning that resources must match all expressions to pass the filters.
120+-- based on label values. To filter on multiple expressions, provide each
121+-- separate expression within parentheses. For example,
122+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
123+-- expressions are treated as AND expressions, meaning that resources must
124+-- match all expressions to pass the filters.
126125mlFilter :: Lens' ManifestsList (Maybe Text)
127126mlFilter = lens _mlFilter (\ s a -> s{_mlFilter = a})
128127
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs+6−7
@@ -105,16 +105,15 @@ olProject
105105-- value is interpreted as a regular expression using RE2 syntax. The
106106-- literal value must match the entire field. For example, to filter for
107107-- instances that do not have a name of example-instance, you would use
108−-- filter=name ne example-instance. Compute Engine Beta API Only: When
109−-- filtering in the Beta API, you can also filter on nested fields. For
108+-- filter=name ne example-instance. You can filter on nested fields. For
110109-- example, you could filter on instances that have set the
111110-- scheduling.automaticRestart field to true. Use filtering on nested
112111-- fields to take advantage of labels to organize and search for results
113−-- based on label values. The Beta API also supports filtering on multiple
114−-- expressions by providing each separate expression within parentheses.
115−-- For example, (scheduling.automaticRestart eq true) (zone eq
116−-- us-central1-f). Multiple expressions are treated as AND expressions,
117−-- meaning that resources must match all expressions to pass the filters.
112+-- based on label values. To filter on multiple expressions, provide each
113+-- separate expression within parentheses. For example,
114+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
115+-- expressions are treated as AND expressions, meaning that resources must
116+-- match all expressions to pass the filters.
118117olFilter :: Lens' OperationsList (Maybe Text)
119118olFilter = lens _olFilter (\ s a -> s{_olFilter = a})
120119
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs+6−7
@@ -113,16 +113,15 @@ rlProject
113113-- value is interpreted as a regular expression using RE2 syntax. The
114114-- literal value must match the entire field. For example, to filter for
115115-- instances that do not have a name of example-instance, you would use
116−-- filter=name ne example-instance. Compute Engine Beta API Only: When
117−-- filtering in the Beta API, you can also filter on nested fields. For
116+-- filter=name ne example-instance. You can filter on nested fields. For
118117-- example, you could filter on instances that have set the
119118-- scheduling.automaticRestart field to true. Use filtering on nested
120119-- fields to take advantage of labels to organize and search for results
121−-- based on label values. The Beta API also supports filtering on multiple
122−-- expressions by providing each separate expression within parentheses.
123−-- For example, (scheduling.automaticRestart eq true) (zone eq
124−-- us-central1-f). Multiple expressions are treated as AND expressions,
125−-- meaning that resources must match all expressions to pass the filters.
120+-- based on label values. To filter on multiple expressions, provide each
121+-- separate expression within parentheses. For example,
122+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
123+-- expressions are treated as AND expressions, meaning that resources must
124+-- match all expressions to pass the filters.
126125rlFilter :: Lens' ResourcesList (Maybe Text)
127126rlFilter = lens _rlFilter (\ s a -> s{_rlFilter = a})
128127
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Types/List.hs+6−7
@@ -105,16 +105,15 @@ tlProject
105105-- value is interpreted as a regular expression using RE2 syntax. The
106106-- literal value must match the entire field. For example, to filter for
107107-- instances that do not have a name of example-instance, you would use
108−-- filter=name ne example-instance. Compute Engine Beta API Only: When
109−-- filtering in the Beta API, you can also filter on nested fields. For
108+-- filter=name ne example-instance. You can filter on nested fields. For
110109-- example, you could filter on instances that have set the
111110-- scheduling.automaticRestart field to true. Use filtering on nested
112111-- fields to take advantage of labels to organize and search for results
113−-- based on label values. The Beta API also supports filtering on multiple
114−-- expressions by providing each separate expression within parentheses.
115−-- For example, (scheduling.automaticRestart eq true) (zone eq
116−-- us-central1-f). Multiple expressions are treated as AND expressions,
117−-- meaning that resources must match all expressions to pass the filters.
112+-- based on label values. To filter on multiple expressions, provide each
113+-- separate expression within parentheses. For example,
114+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
115+-- expressions are treated as AND expressions, meaning that resources must
116+-- match all expressions to pass the filters.
118117tlFilter :: Lens' TypesList (Maybe Text)
119118tlFilter = lens _tlFilter (\ s a -> s{_tlFilter = a})
120119
gogol-deploymentmanager/gogol-deploymentmanager.cabal+3
@@ -39,10 +39,13 @@ library
3939 , Network.Google.Resource.DeploymentManager.Deployments.CancelPreview
4040 , Network.Google.Resource.DeploymentManager.Deployments.Delete
4141 , Network.Google.Resource.DeploymentManager.Deployments.Get
42+ , Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
4243 , Network.Google.Resource.DeploymentManager.Deployments.Insert
4344 , Network.Google.Resource.DeploymentManager.Deployments.List
4445 , Network.Google.Resource.DeploymentManager.Deployments.Patch
46+ , Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
4547 , Network.Google.Resource.DeploymentManager.Deployments.Stop
48+ , Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
4649 , Network.Google.Resource.DeploymentManager.Deployments.Update
4750 , Network.Google.Resource.DeploymentManager.Manifests.Get
4851 , Network.Google.Resource.DeploymentManager.Manifests.List