on develop help sign in
Regenerating gogol-deploymentmanager from latest service definition
fa56916Brendan Hay
gen/model/deploymentmanager/v2/deploymentmanager-api.json+351−9
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/NGZc-wpPOb0oBihA_KbpUbW4F-M\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/9Zsfmpnnm8mFw6prcRj_UvjMhOo\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "deploymentmanager:v2",
5 "id": "deploymentmanager:v2",
6 "name": "deploymentmanager",
6 "name": "deploymentmanager",
7 "canonicalName": "Deployment Manager",
7 "canonicalName": "Deployment Manager",
8 "version": "v2",
8 "version": "v2",
9− "revision": "20160406",
9+ "revision": "20160915",
10 "title": "Google Cloud Deployment Manager API",
10 "title": "Google Cloud Deployment Manager API",
11 "description": "Declares, configures, and deploys complex solutions on Google Cloud Platform.",
11 "description": "Declares, configures, and deploys complex solutions on Google Cloud Platform.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -86,6 +86,76 @@
86 }
86 }
87 },
87 },
88 "schemas": {
88 "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+ },
89 "ConfigFile": {
159 "ConfigFile": {
90 "id": "ConfigFile",
160 "id": "ConfigFile",
91 "type": "object",
161 "type": "object",
@@ -252,6 +322,32 @@
252 }
322 }
253 }
323 }
254 },
324 },
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+ },
255 "Manifest": {
351 "Manifest": {
256 "id": "Manifest",
352 "id": "Manifest",
257 "type": "object",
353 "type": "object",
@@ -424,7 +520,7 @@
424 },
520 },
425 "targetLink": {
521 "targetLink": {
426 "type": "string",
522 "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."
428 },
524 },
429 "user": {
525 "user": {
430 "type": "string",
526 "type": "string",
@@ -488,11 +584,57 @@
488 }
584 }
489 }
585 }
490 },
586 },
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+ },
491 "Resource": {
629 "Resource": {
492 "id": "Resource",
630 "id": "Resource",
493 "type": "object",
631 "type": "object",
494 "description": "",
632 "description": "",
495 "properties": {
633 "properties": {
634+ "accessControl": {
635+ "$ref": "ResourceAccessControl",
636+ "description": "The Access Control Policy set on this resource."
637+ },
496 "finalProperties": {
638 "finalProperties": {
497 "type": "string",
639 "type": "string",
498 "description": "[Output Only] The evaluated properties of the resource with references expanded. Returned as serialized YAML."
640 "description": "[Output Only] The evaluated properties of the resource with references expanded. Returned as serialized YAML."
@@ -520,7 +662,7 @@
520 },
662 },
521 "type": {
663 "type": {
522 "type": "string",
664 "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."
524 },
666 },
525 "update": {
667 "update": {
526 "$ref": "ResourceUpdate",
668 "$ref": "ResourceUpdate",
@@ -570,11 +712,26 @@
570 }
712 }
571 }
713 }
572 },
714 },
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+ },
573 "ResourceUpdate": {
726 "ResourceUpdate": {
574 "id": "ResourceUpdate",
727 "id": "ResourceUpdate",
575 "type": "object",
728 "type": "object",
576 "description": "",
729 "description": "",
577 "properties": {
730 "properties": {
731+ "accessControl": {
732+ "$ref": "ResourceAccessControl",
733+ "description": "The Access Control Policy to set on this resource after updating the resource itself."
734+ },
578 "error": {
735 "error": {
579 "type": "object",
736 "type": "object",
580 "description": "[Output Only] If errors are generated during update of the resource, this field will be populated.",
737 "description": "[Output Only] If errors are generated during update of the resource, this field will be populated.",
@@ -676,6 +833,56 @@
676 }
833 }
677 }
834 }
678 },
835 },
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+ },
679 "TargetConfiguration": {
886 "TargetConfiguration": {
680 "id": "TargetConfiguration",
887 "id": "TargetConfiguration",
681 "type": "object",
888 "type": "object",
@@ -694,6 +901,32 @@
694 }
901 }
695 }
902 }
696 },
903 },
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+ },
697 "Type": {
930 "Type": {
698 "id": "Type",
931 "id": "Type",
699 "type": "object",
932 "type": "object",
@@ -712,6 +945,10 @@
712 "type": "string",
945 "type": "string",
713 "description": "Name of the type."
946 "description": "Name of the type."
714 },
947 },
948+ "operation": {
949+ "$ref": "Operation",
950+ "description": "[Output Only] The Operation that most recently ran, or is currently running, on this type."
951+ },
715 "selfLink": {
952 "selfLink": {
716 "type": "string",
953 "type": "string",
717 "description": "[Output Only] Self link for the type."
954 "description": "[Output Only] Self link for the type."
@@ -844,6 +1081,39 @@
844 "https://www.googleapis.com/auth/ndev.cloudman.readonly"
1081 "https://www.googleapis.com/auth/ndev.cloudman.readonly"
845 ]
1082 ]
846 },
1083 },
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+ },
847 "insert": {
1117 "insert": {
848 "id": "deploymentmanager.deployments.insert",
1118 "id": "deploymentmanager.deployments.insert",
849 "path": "{project}/global/deployments",
1119 "path": "{project}/global/deployments",
@@ -885,7 +1155,7 @@
885 "parameters": {
1155 "parameters": {
886 "filter": {
1156 "filter": {
887 "type": "string",
1157 "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.",
889 "location": "query"
1159 "location": "query"
890 },
1160 },
891 "maxResults": {
1161 "maxResults": {
@@ -993,6 +1263,42 @@
993 "https://www.googleapis.com/auth/ndev.cloudman"
1263 "https://www.googleapis.com/auth/ndev.cloudman"
994 ]
1264 ]
995 },
1265 },
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+ },
996 "stop": {
1302 "stop": {
997 "id": "deploymentmanager.deployments.stop",
1303 "id": "deploymentmanager.deployments.stop",
998 "path": "{project}/global/deployments/{deployment}/stop",
1304 "path": "{project}/global/deployments/{deployment}/stop",
@@ -1029,6 +1335,42 @@
1029 "https://www.googleapis.com/auth/ndev.cloudman"
1335 "https://www.googleapis.com/auth/ndev.cloudman"
1030 ]
1336 ]
1031 },
1337 },
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+ },
1032 "update": {
1374 "update": {
1033 "id": "deploymentmanager.deployments.update",
1375 "id": "deploymentmanager.deployments.update",
1034 "path": "{project}/global/deployments/{deployment}",
1376 "path": "{project}/global/deployments/{deployment}",
@@ -1161,7 +1503,7 @@
1161 },
1503 },
1162 "filter": {
1504 "filter": {
1163 "type": "string",
1505 "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.",
1165 "location": "query"
1507 "location": "query"
1166 },
1508 },
1167 "maxResults": {
1509 "maxResults": {
@@ -1246,7 +1588,7 @@
1246 "parameters": {
1588 "parameters": {
1247 "filter": {
1589 "filter": {
1248 "type": "string",
1590 "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.",
1250 "location": "query"
1592 "location": "query"
1251 },
1593 },
1252 "maxResults": {
1594 "maxResults": {
@@ -1345,7 +1687,7 @@
1345 },
1687 },
1346 "filter": {
1688 "filter": {
1347 "type": "string",
1689 "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.",
1349 "location": "query"
1691 "location": "query"
1350 },
1692 },
1351 "maxResults": {
1693 "maxResults": {
@@ -1396,7 +1738,7 @@
1396 "parameters": {
1738 "parameters": {
1397 "filter": {
1739 "filter": {
1398 "type": "string",
1740 "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.",
1400 "location": "query"
1742 "location": "query"
1401 },
1743 },
1402 "maxResults": {
1744 "maxResults": {
gogol-deploymentmanager/gen/Network/Google/DeploymentManager.hs+87
@@ -42,6 +42,9 @@ module Network.Google.DeploymentManager
42 -- ** deploymentmanager.deployments.get
42 -- ** deploymentmanager.deployments.get
43 , module Network.Google.Resource.DeploymentManager.Deployments.Get
43 , module Network.Google.Resource.DeploymentManager.Deployments.Get
44
44
45+ -- ** deploymentmanager.deployments.getIamPolicy
46+ , module Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
47+
45 -- ** deploymentmanager.deployments.insert
48 -- ** deploymentmanager.deployments.insert
46 , module Network.Google.Resource.DeploymentManager.Deployments.Insert
49 , module Network.Google.Resource.DeploymentManager.Deployments.Insert
47
50
@@ -51,9 +54,15 @@ module Network.Google.DeploymentManager
51 -- ** deploymentmanager.deployments.patch
54 -- ** deploymentmanager.deployments.patch
52 , module Network.Google.Resource.DeploymentManager.Deployments.Patch
55 , module Network.Google.Resource.DeploymentManager.Deployments.Patch
53
56
57+ -- ** deploymentmanager.deployments.setIamPolicy
58+ , module Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
59+
54 -- ** deploymentmanager.deployments.stop
60 -- ** deploymentmanager.deployments.stop
55 , module Network.Google.Resource.DeploymentManager.Deployments.Stop
61 , module Network.Google.Resource.DeploymentManager.Deployments.Stop
56
62
63+ -- ** deploymentmanager.deployments.testIamPermissions
64+ , module Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
65+
57 -- ** deploymentmanager.deployments.update
66 -- ** deploymentmanager.deployments.update
58 , module Network.Google.Resource.DeploymentManager.Deployments.Update
67 , module Network.Google.Resource.DeploymentManager.Deployments.Update
59
68
@@ -91,6 +100,12 @@ module Network.Google.DeploymentManager
91 , configFile
100 , configFile
92 , cfContent
101 , cfContent
93
102
103+ -- ** AuditConfig
104+ , AuditConfig
105+ , auditConfig
106+ , acService
107+ , acExemptedMembers
108+
94 -- ** DeploymentsUpdateCreatePolicy
109 -- ** DeploymentsUpdateCreatePolicy
95 , DeploymentsUpdateCreatePolicy (..)
110 , DeploymentsUpdateCreatePolicy (..)
96
111
@@ -112,6 +127,12 @@ module Network.Google.DeploymentManager
112 , tlrNextPageToken
127 , tlrNextPageToken
113 , tlrTypes
128 , tlrTypes
114
129
130+ -- ** LogConfigCounterOptions
131+ , LogConfigCounterOptions
132+ , logConfigCounterOptions
133+ , lccoField
134+ , lccoMetric
135+
115 -- ** DeploymentsUpdateDeletePolicy
136 -- ** DeploymentsUpdateDeletePolicy
116 , DeploymentsUpdateDeletePolicy (..)
137 , DeploymentsUpdateDeletePolicy (..)
117
138
@@ -145,6 +166,11 @@ module Network.Google.DeploymentManager
145 , oTargetLink
166 , oTargetLink
146 , oClientOperationId
167 , oClientOperationId
147
168
169+ -- ** TestPermissionsResponse
170+ , TestPermissionsResponse
171+ , testPermissionsResponse
172+ , tprPermissions
173+
148 -- ** DeploymentsPatchCreatePolicy
174 -- ** DeploymentsPatchCreatePolicy
149 , DeploymentsPatchCreatePolicy (..)
175 , DeploymentsPatchCreatePolicy (..)
150
176
@@ -165,6 +191,7 @@ module Network.Google.DeploymentManager
165 , resourceUpdate
191 , resourceUpdate
166 , ruState
192 , ruState
167 , ruError
193 , ruError
194+ , ruAccessControl
168 , ruWarnings
195 , ruWarnings
169 , ruIntent
196 , ruIntent
170 , ruManifest
197 , ruManifest
@@ -177,6 +204,22 @@ module Network.Google.DeploymentManager
177 , dleValue
204 , dleValue
178 , dleKey
205 , dleKey
179
206
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+
180 -- ** Manifest
223 -- ** Manifest
181 , Manifest
224 , Manifest
182 , manifest
225 , manifest
@@ -205,6 +248,7 @@ module Network.Google.DeploymentManager
205 , Resource
248 , Resource
206 , resource
249 , resource
207 , rInsertTime
250 , rInsertTime
251+ , rAccessControl
208 , rURL
252 , rURL
209 , rWarnings
253 , rWarnings
210 , rUpdateTime
254 , rUpdateTime
@@ -240,10 +284,21 @@ module Network.Google.DeploymentManager
240 , operationError
284 , operationError
241 , oeErrors
285 , oeErrors
242
286
287+ -- ** Policy
288+ , Policy
289+ , policy
290+ , pAuditConfigs
291+ , pEtag
292+ , pRules
293+ , pVersion
294+ , pBindings
295+ , pIAMOwned
296+
243 -- ** Type
297 -- ** Type
244 , Type
298 , Type
245 , type'
299 , type'
246 , tInsertTime
300 , tInsertTime
301+ , tOperation
247 , tSelfLink
302 , tSelfLink
248 , tName
303 , tName
249 , tId
304 , tId
@@ -277,6 +332,16 @@ module Network.Google.DeploymentManager
277 , resourceUpdateError
332 , resourceUpdateError
278 , rueErrors
333 , rueErrors
279
334
335+ -- ** Condition
336+ , Condition
337+ , condition
338+ , cOp
339+ , cIAM
340+ , cValues
341+ , cValue
342+ , cSys
343+ , cSvc
344+
280 -- ** DeploymentsListResponse
345 -- ** DeploymentsListResponse
281 , DeploymentsListResponse
346 , DeploymentsListResponse
282 , deploymentsListResponse
347 , deploymentsListResponse
@@ -290,6 +355,16 @@ module Network.Google.DeploymentManager
290 , rwiCode
355 , rwiCode
291 , rwiMessage
356 , rwiMessage
292
357
358+ -- ** LogConfig
359+ , LogConfig
360+ , logConfig
361+ , lcCounter
362+
363+ -- ** ResourceAccessControl
364+ , ResourceAccessControl
365+ , resourceAccessControl
366+ , racGcpIAMPolicy
367+
293 -- ** TargetConfiguration
368 -- ** TargetConfiguration
294 , TargetConfiguration
369 , TargetConfiguration
295 , targetConfiguration
370 , targetConfiguration
@@ -303,6 +378,12 @@ module Network.Google.DeploymentManager
303 , owiCode
378 , owiCode
304 , owiMessage
379 , owiMessage
305
380
381+ -- ** Binding
382+ , Binding
383+ , binding
384+ , bMembers
385+ , bRole
386+
306 -- ** Deployment
387 -- ** Deployment
307 , Deployment
388 , Deployment
308 , deployment
389 , deployment
@@ -324,10 +405,13 @@ import Network.Google.Prelude
324import Network.Google.Resource.DeploymentManager.Deployments.CancelPreview
405import Network.Google.Resource.DeploymentManager.Deployments.CancelPreview
325import Network.Google.Resource.DeploymentManager.Deployments.Delete
406import Network.Google.Resource.DeploymentManager.Deployments.Delete
326import Network.Google.Resource.DeploymentManager.Deployments.Get
407import Network.Google.Resource.DeploymentManager.Deployments.Get
408+import Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
327import Network.Google.Resource.DeploymentManager.Deployments.Insert
409import Network.Google.Resource.DeploymentManager.Deployments.Insert
328import Network.Google.Resource.DeploymentManager.Deployments.List
410import Network.Google.Resource.DeploymentManager.Deployments.List
329import Network.Google.Resource.DeploymentManager.Deployments.Patch
411import Network.Google.Resource.DeploymentManager.Deployments.Patch
412+import Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
330import Network.Google.Resource.DeploymentManager.Deployments.Stop
413import Network.Google.Resource.DeploymentManager.Deployments.Stop
414+import Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
331import Network.Google.Resource.DeploymentManager.Deployments.Update
415import Network.Google.Resource.DeploymentManager.Deployments.Update
332import Network.Google.Resource.DeploymentManager.Manifests.Get
416import Network.Google.Resource.DeploymentManager.Manifests.Get
333import Network.Google.Resource.DeploymentManager.Manifests.List
417import Network.Google.Resource.DeploymentManager.Manifests.List
@@ -349,10 +433,13 @@ type DeploymentManagerAPI =
349 :<|> ManifestsGetResource
433 :<|> ManifestsGetResource
350 :<|> DeploymentsInsertResource
434 :<|> DeploymentsInsertResource
351 :<|> DeploymentsListResource
435 :<|> DeploymentsListResource
436+ :<|> DeploymentsGetIAMPolicyResource
352 :<|> DeploymentsPatchResource
437 :<|> DeploymentsPatchResource
353 :<|> DeploymentsGetResource
438 :<|> DeploymentsGetResource
354 :<|> DeploymentsCancelPreviewResource
439 :<|> DeploymentsCancelPreviewResource
440+ :<|> DeploymentsSetIAMPolicyResource
355 :<|> DeploymentsStopResource
441 :<|> DeploymentsStopResource
442+ :<|> DeploymentsTestIAMPermissionsResource
356 :<|> DeploymentsDeleteResource
443 :<|> DeploymentsDeleteResource
357 :<|> DeploymentsUpdateResource
444 :<|> DeploymentsUpdateResource
358 :<|> OperationsListResource
445 :<|> OperationsListResource
gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types.hs+72
@@ -36,6 +36,12 @@ module Network.Google.DeploymentManager.Types
36 , configFile
36 , configFile
37 , cfContent
37 , cfContent
38
38
39+ -- * AuditConfig
40+ , AuditConfig
41+ , auditConfig
42+ , acService
43+ , acExemptedMembers
44+
39 -- * DeploymentsUpdateCreatePolicy
45 -- * DeploymentsUpdateCreatePolicy
40 , DeploymentsUpdateCreatePolicy (..)
46 , DeploymentsUpdateCreatePolicy (..)
41
47
@@ -57,6 +63,12 @@ module Network.Google.DeploymentManager.Types
57 , tlrNextPageToken
63 , tlrNextPageToken
58 , tlrTypes
64 , tlrTypes
59
65
66+ -- * LogConfigCounterOptions
67+ , LogConfigCounterOptions
68+ , logConfigCounterOptions
69+ , lccoField
70+ , lccoMetric
71+
60 -- * DeploymentsUpdateDeletePolicy
72 -- * DeploymentsUpdateDeletePolicy
61 , DeploymentsUpdateDeletePolicy (..)
73 , DeploymentsUpdateDeletePolicy (..)
62
74
@@ -90,6 +102,11 @@ module Network.Google.DeploymentManager.Types
90 , oTargetLink
102 , oTargetLink
91 , oClientOperationId
103 , oClientOperationId
92
104
105+ -- * TestPermissionsResponse
106+ , TestPermissionsResponse
107+ , testPermissionsResponse
108+ , tprPermissions
109+
93 -- * DeploymentsPatchCreatePolicy
110 -- * DeploymentsPatchCreatePolicy
94 , DeploymentsPatchCreatePolicy (..)
111 , DeploymentsPatchCreatePolicy (..)
95
112
@@ -110,6 +127,7 @@ module Network.Google.DeploymentManager.Types
110 , resourceUpdate
127 , resourceUpdate
111 , ruState
128 , ruState
112 , ruError
129 , ruError
130+ , ruAccessControl
113 , ruWarnings
131 , ruWarnings
114 , ruIntent
132 , ruIntent
115 , ruManifest
133 , ruManifest
@@ -122,6 +140,22 @@ module Network.Google.DeploymentManager.Types
122 , dleValue
140 , dleValue
123 , dleKey
141 , dleKey
124
142
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+
125 -- * Manifest
159 -- * Manifest
126 , Manifest
160 , Manifest
127 , manifest
161 , manifest
@@ -150,6 +184,7 @@ module Network.Google.DeploymentManager.Types
150 , Resource
184 , Resource
151 , resource
185 , resource
152 , rInsertTime
186 , rInsertTime
187+ , rAccessControl
153 , rURL
188 , rURL
154 , rWarnings
189 , rWarnings
155 , rUpdateTime
190 , rUpdateTime
@@ -185,10 +220,21 @@ module Network.Google.DeploymentManager.Types
185 , operationError
220 , operationError
186 , oeErrors
221 , oeErrors
187
222
223+ -- * Policy
224+ , Policy
225+ , policy
226+ , pAuditConfigs
227+ , pEtag
228+ , pRules
229+ , pVersion
230+ , pBindings
231+ , pIAMOwned
232+
188 -- * Type
233 -- * Type
189 , Type
234 , Type
190 , type'
235 , type'
191 , tInsertTime
236 , tInsertTime
237+ , tOperation
192 , tSelfLink
238 , tSelfLink
193 , tName
239 , tName
194 , tId
240 , tId
@@ -222,6 +268,16 @@ module Network.Google.DeploymentManager.Types
222 , resourceUpdateError
268 , resourceUpdateError
223 , rueErrors
269 , rueErrors
224
270
271+ -- * Condition
272+ , Condition
273+ , condition
274+ , cOp
275+ , cIAM
276+ , cValues
277+ , cValue
278+ , cSys
279+ , cSvc
280+
225 -- * DeploymentsListResponse
281 -- * DeploymentsListResponse
226 , DeploymentsListResponse
282 , DeploymentsListResponse
227 , deploymentsListResponse
283 , deploymentsListResponse
@@ -235,6 +291,16 @@ module Network.Google.DeploymentManager.Types
235 , rwiCode
291 , rwiCode
236 , rwiMessage
292 , rwiMessage
237
293
294+ -- * LogConfig
295+ , LogConfig
296+ , logConfig
297+ , lcCounter
298+
299+ -- * ResourceAccessControl
300+ , ResourceAccessControl
301+ , resourceAccessControl
302+ , racGcpIAMPolicy
303+
238 -- * TargetConfiguration
304 -- * TargetConfiguration
239 , TargetConfiguration
305 , TargetConfiguration
240 , targetConfiguration
306 , targetConfiguration
@@ -248,6 +314,12 @@ module Network.Google.DeploymentManager.Types
248 , owiCode
314 , owiCode
249 , owiMessage
315 , owiMessage
250
316
317+ -- * Binding
318+ , Binding
319+ , binding
320+ , bMembers
321+ , bRole
322+
251 -- * Deployment
323 -- * Deployment
252 , Deployment
324 , Deployment
253 , deployment
325 , deployment
gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types/Product.hs+686−7
@@ -104,6 +104,62 @@ instance ToJSON ConfigFile where
104 toJSON ConfigFile'{..}
104 toJSON ConfigFile'{..}
105 = object (catMaybes [("content" .=) <$> _cfContent])
105 = object (catMaybes [("content" .=) <$> _cfContent])
106
106
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+
107-- | A response containing a partial list of operations and a page token used
163-- | A response containing a partial list of operations and a page token used
108-- to build the next request if the request has been truncated.
164-- to build the next request if the request has been truncated.
109--
165--
@@ -262,6 +318,53 @@ instance ToJSON TypesListResponse where
262 [("nextPageToken" .=) <$> _tlrNextPageToken,
318 [("nextPageToken" .=) <$> _tlrNextPageToken,
263 ("types" .=) <$> _tlrTypes])
319 ("types" .=) <$> _tlrTypes])
264
320
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+
265-- | An Operation resource, used to manage asynchronous API requests.
368-- | An Operation resource, used to manage asynchronous API requests.
266--
369--
267-- /See:/ 'operation' smart constructor.
370-- /See:/ 'operation' smart constructor.
@@ -498,7 +601,9 @@ oDescription :: Lens' Operation (Maybe Text)
498oDescription
601oDescription
499 = lens _oDescription (\ s a -> s{_oDescription = a})
602 = lens _oDescription (\ s a -> s{_oDescription = a})
500
603
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.
502oTargetLink :: Lens' Operation (Maybe Text)
607oTargetLink :: Lens' Operation (Maybe Text)
503oTargetLink
608oTargetLink
504 = lens _oTargetLink (\ s a -> s{_oTargetLink = a})
609 = lens _oTargetLink (\ s a -> s{_oTargetLink = a})
@@ -563,6 +668,45 @@ instance ToJSON Operation where
563 ("targetLink" .=) <$> _oTargetLink,
668 ("targetLink" .=) <$> _oTargetLink,
564 ("clientOperationId" .=) <$> _oClientOperationId])
669 ("clientOperationId" .=) <$> _oClientOperationId])
565
670
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+
566-- | A response containing a partial list of resources and a page token used
710-- | A response containing a partial list of resources and a page token used
567-- to build the next request if the request has been truncated.
711-- to build the next request if the request has been truncated.
568--
712--
@@ -676,6 +820,7 @@ instance ToJSON DeploymentUpdate where
676data ResourceUpdate = ResourceUpdate'
820data ResourceUpdate = ResourceUpdate'
677 { _ruState :: !(Maybe Text)
821 { _ruState :: !(Maybe Text)
678 , _ruError :: !(Maybe ResourceUpdateError)
822 , _ruError :: !(Maybe ResourceUpdateError)
823+ , _ruAccessControl :: !(Maybe ResourceAccessControl)
679 , _ruWarnings :: !(Maybe [ResourceUpdateWarningsItem])
824 , _ruWarnings :: !(Maybe [ResourceUpdateWarningsItem])
680 , _ruIntent :: !(Maybe Text)
825 , _ruIntent :: !(Maybe Text)
681 , _ruManifest :: !(Maybe Text)
826 , _ruManifest :: !(Maybe Text)
@@ -691,6 +836,8 @@ data ResourceUpdate = ResourceUpdate'
691--
836--
692-- * 'ruError'
837-- * 'ruError'
693--
838--
839+-- * 'ruAccessControl'
840+--
694-- * 'ruWarnings'
841-- * 'ruWarnings'
695--
842--
696-- * 'ruIntent'
843-- * 'ruIntent'
@@ -706,6 +853,7 @@ resourceUpdate =
706 ResourceUpdate'
853 ResourceUpdate'
707 { _ruState = Nothing
854 { _ruState = Nothing
708 , _ruError = Nothing
855 , _ruError = Nothing
856+ , _ruAccessControl = Nothing
709 , _ruWarnings = Nothing
857 , _ruWarnings = Nothing
710 , _ruIntent = Nothing
858 , _ruIntent = Nothing
711 , _ruManifest = Nothing
859 , _ruManifest = Nothing
@@ -722,6 +870,13 @@ ruState = lens _ruState (\ s a -> s{_ruState = a})
722ruError :: Lens' ResourceUpdate (Maybe ResourceUpdateError)
870ruError :: Lens' ResourceUpdate (Maybe ResourceUpdateError)
723ruError = lens _ruError (\ s a -> s{_ruError = a})
871ruError = lens _ruError (\ s a -> s{_ruError = a})
724
872
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+
725-- | [Output Only] If warning messages are generated during processing of
880-- | [Output Only] If warning messages are generated during processing of
726-- this resource, this field will be populated.
881-- this resource, this field will be populated.
727ruWarnings :: Lens' ResourceUpdate [ResourceUpdateWarningsItem]
882ruWarnings :: Lens' ResourceUpdate [ResourceUpdateWarningsItem]
@@ -759,7 +914,8 @@ instance FromJSON ResourceUpdate where
759 (\ o ->
914 (\ o ->
760 ResourceUpdate' <$>
915 ResourceUpdate' <$>
761 (o .:? "state") <*> (o .:? "error") <*>
916 (o .:? "state") <*> (o .:? "error") <*>
917+ (o .:? "accessControl")
762− (o .:? "warnings" .!= mempty)
918+ <*> (o .:? "warnings" .!= mempty)
763 <*> (o .:? "intent")
919 <*> (o .:? "intent")
764 <*> (o .:? "manifest")
920 <*> (o .:? "manifest")
765 <*> (o .:? "finalProperties")
921 <*> (o .:? "finalProperties")
@@ -771,6 +927,7 @@ instance ToJSON ResourceUpdate where
771 (catMaybes
927 (catMaybes
772 [("state" .=) <$> _ruState,
928 [("state" .=) <$> _ruState,
773 ("error" .=) <$> _ruError,
929 ("error" .=) <$> _ruError,
930+ ("accessControl" .=) <$> _ruAccessControl,
774 ("warnings" .=) <$> _ruWarnings,
931 ("warnings" .=) <$> _ruWarnings,
775 ("intent" .=) <$> _ruIntent,
932 ("intent" .=) <$> _ruIntent,
776 ("manifest" .=) <$> _ruManifest,
933 ("manifest" .=) <$> _ruManifest,
@@ -818,6 +975,157 @@ instance ToJSON DeploymentLabelEntry where
818 (catMaybes
975 (catMaybes
819 [("value" .=) <$> _dleValue, ("key" .=) <$> _dleKey])
976 [("value" .=) <$> _dleValue, ("key" .=) <$> _dleKey])
820
977
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+
821-- |
1129-- |
822--
1130--
823-- /See:/ 'manifest' smart constructor.
1131-- /See:/ 'manifest' smart constructor.
@@ -1045,6 +1353,7 @@ instance ToJSON DeploymentsCancelPreviewRequest where
1045-- /See:/ 'resource' smart constructor.
1353-- /See:/ 'resource' smart constructor.
1046data Resource = Resource'
1354data Resource = Resource'
1047 { _rInsertTime :: !(Maybe Text)
1355 { _rInsertTime :: !(Maybe Text)
1356+ , _rAccessControl :: !(Maybe ResourceAccessControl)
1048 , _rURL :: !(Maybe Text)
1357 , _rURL :: !(Maybe Text)
1049 , _rWarnings :: !(Maybe [ResourceWarningsItem])
1358 , _rWarnings :: !(Maybe [ResourceWarningsItem])
1050 , _rUpdateTime :: !(Maybe Text)
1359 , _rUpdateTime :: !(Maybe Text)
@@ -1063,6 +1372,8 @@ data Resource = Resource'
1063--
1372--
1064-- * 'rInsertTime'
1373-- * 'rInsertTime'
1065--
1374--
1375+-- * 'rAccessControl'
1376+--
1066-- * 'rURL'
1377-- * 'rURL'
1067--
1378--
1068-- * 'rWarnings'
1379-- * 'rWarnings'
@@ -1087,6 +1398,7 @@ resource
1087resource =
1398resource =
1088 Resource'
1399 Resource'
1089 { _rInsertTime = Nothing
1400 { _rInsertTime = Nothing
1401+ , _rAccessControl = Nothing
1090 , _rURL = Nothing
1402 , _rURL = Nothing
1091 , _rWarnings = Nothing
1403 , _rWarnings = Nothing
1092 , _rUpdateTime = Nothing
1404 , _rUpdateTime = Nothing
@@ -1105,6 +1417,12 @@ rInsertTime :: Lens' Resource (Maybe Text)
1105rInsertTime
1417rInsertTime
1106 = lens _rInsertTime (\ s a -> s{_rInsertTime = a})
1418 = lens _rInsertTime (\ s a -> s{_rInsertTime = a})
1107
1419
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+
1108-- | [Output Only] The URL of the actual resource.
1426-- | [Output Only] The URL of the actual resource.
1109rURL :: Lens' Resource (Maybe Text)
1427rURL :: Lens' Resource (Maybe Text)
1110rURL = lens _rURL (\ s a -> s{_rURL = a})
1428rURL = lens _rURL (\ s a -> s{_rURL = a})
@@ -1146,7 +1464,7 @@ rId
1146 = lens _rId (\ s a -> s{_rId = a}) . mapping _Coerce
1464 = lens _rId (\ s a -> s{_rId = a}) . mapping _Coerce
1147
1465
1148-- | [Output Only] The type of the resource, for example compute.v1.instance,
1466-- | [Output Only] The type of the resource, for example compute.v1.instance,
1149−-- or replicaPools.v1beta2.instanceGroupManager.
1467+-- or cloudfunctions.v1beta1.function.
1150rType :: Lens' Resource (Maybe Text)
1468rType :: Lens' Resource (Maybe Text)
1151rType = lens _rType (\ s a -> s{_rType = a})
1469rType = lens _rType (\ s a -> s{_rType = a})
1152
1470
@@ -1166,8 +1484,9 @@ instance FromJSON Resource where
1166 = withObject "Resource"
1484 = withObject "Resource"
1167 (\ o ->
1485 (\ o ->
1168 Resource' <$>
1486 Resource' <$>
1169− (o .:? "insertTime") <*> (o .:? "url") <*>
1487+ (o .:? "insertTime") <*> (o .:? "accessControl") <*>
1488+ (o .:? "url")
1170− (o .:? "warnings" .!= mempty)
1489+ <*> (o .:? "warnings" .!= mempty)
1171 <*> (o .:? "updateTime")
1490 <*> (o .:? "updateTime")
1172 <*> (o .:? "name")
1491 <*> (o .:? "name")
1173 <*> (o .:? "manifest")
1492 <*> (o .:? "manifest")
@@ -1182,6 +1501,7 @@ instance ToJSON Resource where
1182 = object
1501 = object
1183 (catMaybes
1502 (catMaybes
1184 [("insertTime" .=) <$> _rInsertTime,
1503 [("insertTime" .=) <$> _rInsertTime,
1504+ ("accessControl" .=) <$> _rAccessControl,
1185 ("url" .=) <$> _rURL, ("warnings" .=) <$> _rWarnings,
1505 ("url" .=) <$> _rURL, ("warnings" .=) <$> _rWarnings,
1186 ("updateTime" .=) <$> _rUpdateTime,
1506 ("updateTime" .=) <$> _rUpdateTime,
1187 ("name" .=) <$> _rName,
1507 ("name" .=) <$> _rName,
@@ -1383,11 +1703,142 @@ instance ToJSON OperationError where
1383 toJSON OperationError'{..}
1703 toJSON OperationError'{..}
1384 = object (catMaybes [("errors" .=) <$> _oeErrors])
1704 = object (catMaybes [("errors" .=) <$> _oeErrors])
1385
1705
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+
1386-- | A resource type supported by Deployment Manager.
1836-- | A resource type supported by Deployment Manager.
1387--
1837--
1388-- /See:/ 'type'' smart constructor.
1838-- /See:/ 'type'' smart constructor.
1389data Type = Type'
1839data Type = Type'
1390 { _tInsertTime :: !(Maybe Text)
1840 { _tInsertTime :: !(Maybe Text)
1841+ , _tOperation :: !(Maybe Operation)
1391 , _tSelfLink :: !(Maybe Text)
1842 , _tSelfLink :: !(Maybe Text)
1392 , _tName :: !(Maybe Text)
1843 , _tName :: !(Maybe Text)
1393 , _tId :: !(Maybe (Textual Word64))
1844 , _tId :: !(Maybe (Textual Word64))
@@ -1399,6 +1850,8 @@ data Type = Type'
1399--
1850--
1400-- * 'tInsertTime'
1851-- * 'tInsertTime'
1401--
1852--
1853+-- * 'tOperation'
1854+--
1402-- * 'tSelfLink'
1855-- * 'tSelfLink'
1403--
1856--
1404-- * 'tName'
1857-- * 'tName'
@@ -1409,6 +1862,7 @@ type'
1409type' =
1862type' =
1410 Type'
1863 Type'
1411 { _tInsertTime = Nothing
1864 { _tInsertTime = Nothing
1865+ , _tOperation = Nothing
1412 , _tSelfLink = Nothing
1866 , _tSelfLink = Nothing
1413 , _tName = Nothing
1867 , _tName = Nothing
1414 , _tId = Nothing
1868 , _tId = Nothing
@@ -1420,6 +1874,12 @@ tInsertTime :: Lens' Type (Maybe Text)
1420tInsertTime
1874tInsertTime
1421 = lens _tInsertTime (\ s a -> s{_tInsertTime = a})
1875 = lens _tInsertTime (\ s a -> s{_tInsertTime = a})
1422
1876
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+
1423-- | [Output Only] Self link for the type.
1883-- | [Output Only] Self link for the type.
1424tSelfLink :: Lens' Type (Maybe Text)
1884tSelfLink :: Lens' Type (Maybe Text)
1425tSelfLink
1885tSelfLink
@@ -1439,8 +1899,9 @@ instance FromJSON Type where
1439 = withObject "Type"
1899 = withObject "Type"
1440 (\ o ->
1900 (\ o ->
1441 Type' <$>
1901 Type' <$>
1442− (o .:? "insertTime") <*> (o .:? "selfLink") <*>
1902+ (o .:? "insertTime") <*> (o .:? "operation") <*>
1903+ (o .:? "selfLink")
1443− (o .:? "name")
1904+ <*> (o .:? "name")
1444 <*> (o .:? "id"))
1905 <*> (o .:? "id"))
1445
1906
1446instance ToJSON Type where
1907instance ToJSON Type where
@@ -1448,6 +1909,7 @@ instance ToJSON Type where
1448 = object
1909 = object
1449 (catMaybes
1910 (catMaybes
1450 [("insertTime" .=) <$> _tInsertTime,
1911 [("insertTime" .=) <$> _tInsertTime,
1912+ ("operation" .=) <$> _tOperation,
1451 ("selfLink" .=) <$> _tSelfLink,
1913 ("selfLink" .=) <$> _tSelfLink,
1452 ("name" .=) <$> _tName, ("id" .=) <$> _tId])
1914 ("name" .=) <$> _tName, ("id" .=) <$> _tId])
1453
1915
@@ -1687,6 +2149,91 @@ instance ToJSON ResourceUpdateError where
1687 toJSON ResourceUpdateError'{..}
2149 toJSON ResourceUpdateError'{..}
1688 = object (catMaybes [("errors" .=) <$> _rueErrors])
2150 = object (catMaybes [("errors" .=) <$> _rueErrors])
1689
2151
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+
1690-- | A response containing a partial list of deployments and a page token
2237-- | A response containing a partial list of deployments and a page token
1691-- used to build the next request if the request has been truncated.
2238-- used to build the next request if the request has been truncated.
1692--
2239--
@@ -1799,6 +2346,76 @@ instance ToJSON ResourceWarningsItem where
1799 [("data" .=) <$> _rwiData, ("code" .=) <$> _rwiCode,
2346 [("data" .=) <$> _rwiData, ("code" .=) <$> _rwiCode,
1800 ("message" .=) <$> _rwiMessage])
2347 ("message" .=) <$> _rwiMessage])
1801
2348
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+
1802-- |
2419-- |
1803--
2420--
1804-- /See:/ 'targetConfiguration' smart constructor.
2421-- /See:/ 'targetConfiguration' smart constructor.
@@ -1908,6 +2525,68 @@ instance ToJSON OperationWarningsItem where
1908 [("data" .=) <$> _owiData, ("code" .=) <$> _owiCode,
2525 [("data" .=) <$> _owiData, ("code" .=) <$> _owiCode,
1909 ("message" .=) <$> _owiMessage])
2526 ("message" .=) <$> _owiMessage])
1910
2527
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+
1911-- |
2590-- |
1912--
2591--
1913-- /See:/ 'deployment' smart constructor.
2592-- /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
105-- value is interpreted as a regular expression using RE2 syntax. The
105-- value is interpreted as a regular expression using RE2 syntax. The
106-- literal value must match the entire field. For example, to filter for
106-- literal value must match the entire field. For example, to filter for
107-- instances that do not have a name of example-instance, you would use
107-- 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
108+-- filter=name ne example-instance. You can filter on nested fields. For
109−-- filtering in the Beta API, you can also filter on nested fields. For
110-- example, you could filter on instances that have set the
109-- example, you could filter on instances that have set the
111-- scheduling.automaticRestart field to true. Use filtering on nested
110-- scheduling.automaticRestart field to true. Use filtering on nested
112-- fields to take advantage of labels to organize and search for results
111-- 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
112+-- based on label values. To filter on multiple expressions, provide each
114−-- expressions by providing each separate expression within parentheses.
113+-- separate expression within parentheses. For example,
115−-- For example, (scheduling.automaticRestart eq true) (zone eq
114+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
116−-- us-central1-f). Multiple expressions are treated as AND expressions,
115+-- expressions are treated as AND expressions, meaning that resources must
117−-- meaning that resources must match all expressions to pass the filters.
116+-- match all expressions to pass the filters.
118dlFilter :: Lens' DeploymentsList (Maybe Text)
117dlFilter :: Lens' DeploymentsList (Maybe Text)
119dlFilter = lens _dlFilter (\ s a -> s{_dlFilter = a})
118dlFilter = lens _dlFilter (\ s a -> s{_dlFilter = a})
120
119
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
113-- value is interpreted as a regular expression using RE2 syntax. The
113-- value is interpreted as a regular expression using RE2 syntax. The
114-- literal value must match the entire field. For example, to filter for
114-- literal value must match the entire field. For example, to filter for
115-- instances that do not have a name of example-instance, you would use
115-- 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
116+-- filter=name ne example-instance. You can filter on nested fields. For
117−-- filtering in the Beta API, you can also filter on nested fields. For
118-- example, you could filter on instances that have set the
117-- example, you could filter on instances that have set the
119-- scheduling.automaticRestart field to true. Use filtering on nested
118-- scheduling.automaticRestart field to true. Use filtering on nested
120-- fields to take advantage of labels to organize and search for results
119-- 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
120+-- based on label values. To filter on multiple expressions, provide each
122−-- expressions by providing each separate expression within parentheses.
121+-- separate expression within parentheses. For example,
123−-- For example, (scheduling.automaticRestart eq true) (zone eq
122+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
124−-- us-central1-f). Multiple expressions are treated as AND expressions,
123+-- expressions are treated as AND expressions, meaning that resources must
125−-- meaning that resources must match all expressions to pass the filters.
124+-- match all expressions to pass the filters.
126mlFilter :: Lens' ManifestsList (Maybe Text)
125mlFilter :: Lens' ManifestsList (Maybe Text)
127mlFilter = lens _mlFilter (\ s a -> s{_mlFilter = a})
126mlFilter = lens _mlFilter (\ s a -> s{_mlFilter = a})
128
127
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs+6−7
@@ -105,16 +105,15 @@ olProject
105-- value is interpreted as a regular expression using RE2 syntax. The
105-- value is interpreted as a regular expression using RE2 syntax. The
106-- literal value must match the entire field. For example, to filter for
106-- literal value must match the entire field. For example, to filter for
107-- instances that do not have a name of example-instance, you would use
107-- 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
108+-- filter=name ne example-instance. You can filter on nested fields. For
109−-- filtering in the Beta API, you can also filter on nested fields. For
110-- example, you could filter on instances that have set the
109-- example, you could filter on instances that have set the
111-- scheduling.automaticRestart field to true. Use filtering on nested
110-- scheduling.automaticRestart field to true. Use filtering on nested
112-- fields to take advantage of labels to organize and search for results
111-- 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
112+-- based on label values. To filter on multiple expressions, provide each
114−-- expressions by providing each separate expression within parentheses.
113+-- separate expression within parentheses. For example,
115−-- For example, (scheduling.automaticRestart eq true) (zone eq
114+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
116−-- us-central1-f). Multiple expressions are treated as AND expressions,
115+-- expressions are treated as AND expressions, meaning that resources must
117−-- meaning that resources must match all expressions to pass the filters.
116+-- match all expressions to pass the filters.
118olFilter :: Lens' OperationsList (Maybe Text)
117olFilter :: Lens' OperationsList (Maybe Text)
119olFilter = lens _olFilter (\ s a -> s{_olFilter = a})
118olFilter = lens _olFilter (\ s a -> s{_olFilter = a})
120
119
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs+6−7
@@ -113,16 +113,15 @@ rlProject
113-- value is interpreted as a regular expression using RE2 syntax. The
113-- value is interpreted as a regular expression using RE2 syntax. The
114-- literal value must match the entire field. For example, to filter for
114-- literal value must match the entire field. For example, to filter for
115-- instances that do not have a name of example-instance, you would use
115-- 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
116+-- filter=name ne example-instance. You can filter on nested fields. For
117−-- filtering in the Beta API, you can also filter on nested fields. For
118-- example, you could filter on instances that have set the
117-- example, you could filter on instances that have set the
119-- scheduling.automaticRestart field to true. Use filtering on nested
118-- scheduling.automaticRestart field to true. Use filtering on nested
120-- fields to take advantage of labels to organize and search for results
119-- 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
120+-- based on label values. To filter on multiple expressions, provide each
122−-- expressions by providing each separate expression within parentheses.
121+-- separate expression within parentheses. For example,
123−-- For example, (scheduling.automaticRestart eq true) (zone eq
122+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
124−-- us-central1-f). Multiple expressions are treated as AND expressions,
123+-- expressions are treated as AND expressions, meaning that resources must
125−-- meaning that resources must match all expressions to pass the filters.
124+-- match all expressions to pass the filters.
126rlFilter :: Lens' ResourcesList (Maybe Text)
125rlFilter :: Lens' ResourcesList (Maybe Text)
127rlFilter = lens _rlFilter (\ s a -> s{_rlFilter = a})
126rlFilter = lens _rlFilter (\ s a -> s{_rlFilter = a})
128
127
gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Types/List.hs+6−7
@@ -105,16 +105,15 @@ tlProject
105-- value is interpreted as a regular expression using RE2 syntax. The
105-- value is interpreted as a regular expression using RE2 syntax. The
106-- literal value must match the entire field. For example, to filter for
106-- literal value must match the entire field. For example, to filter for
107-- instances that do not have a name of example-instance, you would use
107-- 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
108+-- filter=name ne example-instance. You can filter on nested fields. For
109−-- filtering in the Beta API, you can also filter on nested fields. For
110-- example, you could filter on instances that have set the
109-- example, you could filter on instances that have set the
111-- scheduling.automaticRestart field to true. Use filtering on nested
110-- scheduling.automaticRestart field to true. Use filtering on nested
112-- fields to take advantage of labels to organize and search for results
111-- 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
112+-- based on label values. To filter on multiple expressions, provide each
114−-- expressions by providing each separate expression within parentheses.
113+-- separate expression within parentheses. For example,
115−-- For example, (scheduling.automaticRestart eq true) (zone eq
114+-- (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple
116−-- us-central1-f). Multiple expressions are treated as AND expressions,
115+-- expressions are treated as AND expressions, meaning that resources must
117−-- meaning that resources must match all expressions to pass the filters.
116+-- match all expressions to pass the filters.
118tlFilter :: Lens' TypesList (Maybe Text)
117tlFilter :: Lens' TypesList (Maybe Text)
119tlFilter = lens _tlFilter (\ s a -> s{_tlFilter = a})
118tlFilter = lens _tlFilter (\ s a -> s{_tlFilter = a})
120
119
gogol-deploymentmanager/gogol-deploymentmanager.cabal+3
@@ -39,10 +39,13 @@ library
39 , Network.Google.Resource.DeploymentManager.Deployments.CancelPreview
39 , Network.Google.Resource.DeploymentManager.Deployments.CancelPreview
40 , Network.Google.Resource.DeploymentManager.Deployments.Delete
40 , Network.Google.Resource.DeploymentManager.Deployments.Delete
41 , Network.Google.Resource.DeploymentManager.Deployments.Get
41 , Network.Google.Resource.DeploymentManager.Deployments.Get
42+ , Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
42 , Network.Google.Resource.DeploymentManager.Deployments.Insert
43 , Network.Google.Resource.DeploymentManager.Deployments.Insert
43 , Network.Google.Resource.DeploymentManager.Deployments.List
44 , Network.Google.Resource.DeploymentManager.Deployments.List
44 , Network.Google.Resource.DeploymentManager.Deployments.Patch
45 , Network.Google.Resource.DeploymentManager.Deployments.Patch
46+ , Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
45 , Network.Google.Resource.DeploymentManager.Deployments.Stop
47 , Network.Google.Resource.DeploymentManager.Deployments.Stop
48+ , Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
46 , Network.Google.Resource.DeploymentManager.Deployments.Update
49 , Network.Google.Resource.DeploymentManager.Deployments.Update
47 , Network.Google.Resource.DeploymentManager.Manifests.Get
50 , Network.Google.Resource.DeploymentManager.Manifests.Get
48 , Network.Google.Resource.DeploymentManager.Manifests.List
51 , Network.Google.Resource.DeploymentManager.Manifests.List