From 9af8aa437c4eb8a2abf1f95c096dbedd495b3a36 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Wed, 21 Sep 2022 01:47:55 +0000 Subject: [PATCH] feat(compute): update the API #### compute:alpha The following keys were added: - resources.networkAttachments.methods.aggregatedList.description - resources.networkAttachments.methods.aggregatedList.flatPath - resources.networkAttachments.methods.aggregatedList.httpMethod - resources.networkAttachments.methods.aggregatedList.id - resources.networkAttachments.methods.aggregatedList.parameterOrder - resources.networkAttachments.methods.aggregatedList.parameters.filter.description - resources.networkAttachments.methods.aggregatedList.parameters.filter.location - resources.networkAttachments.methods.aggregatedList.parameters.filter.type - resources.networkAttachments.methods.aggregatedList.parameters.includeAllScopes.description - resources.networkAttachments.methods.aggregatedList.parameters.includeAllScopes.location - resources.networkAttachments.methods.aggregatedList.parameters.includeAllScopes.type - resources.networkAttachments.methods.aggregatedList.parameters.maxResults.default - resources.networkAttachments.methods.aggregatedList.parameters.maxResults.description - resources.networkAttachments.methods.aggregatedList.parameters.maxResults.format - resources.networkAttachments.methods.aggregatedList.parameters.maxResults.location - resources.networkAttachments.methods.aggregatedList.parameters.maxResults.minimum - resources.networkAttachments.methods.aggregatedList.parameters.maxResults.type - resources.networkAttachments.methods.aggregatedList.parameters.orderBy.description - resources.networkAttachments.methods.aggregatedList.parameters.orderBy.location - resources.networkAttachments.methods.aggregatedList.parameters.orderBy.type - resources.networkAttachments.methods.aggregatedList.parameters.pageToken.description - resources.networkAttachments.methods.aggregatedList.parameters.pageToken.location - resources.networkAttachments.methods.aggregatedList.parameters.pageToken.type - resources.networkAttachments.methods.aggregatedList.parameters.project.description - resources.networkAttachments.methods.aggregatedList.parameters.project.location - resources.networkAttachments.methods.aggregatedList.parameters.project.pattern - resources.networkAttachments.methods.aggregatedList.parameters.project.required - resources.networkAttachments.methods.aggregatedList.parameters.project.type - resources.networkAttachments.methods.aggregatedList.parameters.returnPartialSuccess.description - resources.networkAttachments.methods.aggregatedList.parameters.returnPartialSuccess.location - resources.networkAttachments.methods.aggregatedList.parameters.returnPartialSuccess.type - resources.networkAttachments.methods.aggregatedList.path - resources.networkAttachments.methods.aggregatedList.response.$ref - resources.networkAttachments.methods.aggregatedList.scopes - resources.networkAttachments.methods.delete.description - resources.networkAttachments.methods.delete.flatPath - resources.networkAttachments.methods.delete.httpMethod - resources.networkAttachments.methods.delete.id - resources.networkAttachments.methods.delete.parameterOrder - resources.networkAttachments.methods.delete.parameters.networkAttachment.description - resources.networkAttachments.methods.delete.parameters.networkAttachment.location - resources.networkAttachments.methods.delete.parameters.networkAttachment.pattern - resources.networkAttachments.methods.delete.parameters.networkAttachment.required - resources.networkAttachments.methods.delete.parameters.networkAttachment.type - resources.networkAttachments.methods.delete.parameters.project.description - resources.networkAttachments.methods.delete.parameters.project.location - resources.networkAttachments.methods.delete.parameters.project.pattern - resources.networkAttachments.methods.delete.parameters.project.required - resources.networkAttachments.methods.delete.parameters.project.type - resources.networkAttachments.methods.delete.parameters.region.description - resources.networkAttachments.methods.delete.parameters.region.location - resources.networkAttachments.methods.delete.parameters.region.pattern - resources.networkAttachments.methods.delete.parameters.region.required - resources.networkAttachments.methods.delete.parameters.region.type - resources.networkAttachments.methods.delete.parameters.requestId.description - resources.networkAttachments.methods.delete.parameters.requestId.location - resources.networkAttachments.methods.delete.parameters.requestId.type - resources.networkAttachments.methods.delete.path - resources.networkAttachments.methods.delete.response.$ref - resources.networkAttachments.methods.delete.scopes - resources.networkAttachments.methods.get.description - resources.networkAttachments.methods.get.flatPath - resources.networkAttachments.methods.get.httpMethod - resources.networkAttachments.methods.get.id - resources.networkAttachments.methods.get.parameterOrder - resources.networkAttachments.methods.get.parameters.networkAttachment.description - resources.networkAttachments.methods.get.parameters.networkAttachment.location - resources.networkAttachments.methods.get.parameters.networkAttachment.pattern - resources.networkAttachments.methods.get.parameters.networkAttachment.required - resources.networkAttachments.methods.get.parameters.networkAttachment.type - resources.networkAttachments.methods.get.parameters.project.description - resources.networkAttachments.methods.get.parameters.project.location - resources.networkAttachments.methods.get.parameters.project.pattern - resources.networkAttachments.methods.get.parameters.project.required - resources.networkAttachments.methods.get.parameters.project.type - resources.networkAttachments.methods.get.parameters.region.description - resources.networkAttachments.methods.get.parameters.region.location - resources.networkAttachments.methods.get.parameters.region.pattern - resources.networkAttachments.methods.get.parameters.region.required - resources.networkAttachments.methods.get.parameters.region.type - resources.networkAttachments.methods.get.path - resources.networkAttachments.methods.get.response.$ref - resources.networkAttachments.methods.get.scopes - resources.networkAttachments.methods.getIamPolicy.description - resources.networkAttachments.methods.getIamPolicy.flatPath - resources.networkAttachments.methods.getIamPolicy.httpMethod - resources.networkAttachments.methods.getIamPolicy.id - resources.networkAttachments.methods.getIamPolicy.parameterOrder - resources.networkAttachments.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.description - resources.networkAttachments.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.format - resources.networkAttachments.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.location - resources.networkAttachments.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.type - resources.networkAttachments.methods.getIamPolicy.parameters.project.description - resources.networkAttachments.methods.getIamPolicy.parameters.project.location - resources.networkAttachments.methods.getIamPolicy.parameters.project.pattern - resources.networkAttachments.methods.getIamPolicy.parameters.project.required - resources.networkAttachments.methods.getIamPolicy.parameters.project.type - resources.networkAttachments.methods.getIamPolicy.parameters.region.description - resources.networkAttachments.methods.getIamPolicy.parameters.region.location - resources.networkAttachments.methods.getIamPolicy.parameters.region.pattern - resources.networkAttachments.methods.getIamPolicy.parameters.region.required - resources.networkAttachments.methods.getIamPolicy.parameters.region.type - resources.networkAttachments.methods.getIamPolicy.parameters.resource.description - resources.networkAttachments.methods.getIamPolicy.parameters.resource.location - resources.networkAttachments.methods.getIamPolicy.parameters.resource.pattern - resources.networkAttachments.methods.getIamPolicy.parameters.resource.required - resources.networkAttachments.methods.getIamPolicy.parameters.resource.type - resources.networkAttachments.methods.getIamPolicy.path - resources.networkAttachments.methods.getIamPolicy.response.$ref - resources.networkAttachments.methods.getIamPolicy.scopes - resources.networkAttachments.methods.insert.description - resources.networkAttachments.methods.insert.flatPath - resources.networkAttachments.methods.insert.httpMethod - resources.networkAttachments.methods.insert.id - resources.networkAttachments.methods.insert.parameterOrder - resources.networkAttachments.methods.insert.parameters.project.description - resources.networkAttachments.methods.insert.parameters.project.location - resources.networkAttachments.methods.insert.parameters.project.pattern - resources.networkAttachments.methods.insert.parameters.project.required - resources.networkAttachments.methods.insert.parameters.project.type - resources.networkAttachments.methods.insert.parameters.region.description - resources.networkAttachments.methods.insert.parameters.region.location - resources.networkAttachments.methods.insert.parameters.region.pattern - resources.networkAttachments.methods.insert.parameters.region.required - resources.networkAttachments.methods.insert.parameters.region.type - resources.networkAttachments.methods.insert.parameters.requestId.description - resources.networkAttachments.methods.insert.parameters.requestId.location - resources.networkAttachments.methods.insert.parameters.requestId.type - resources.networkAttachments.methods.insert.path - resources.networkAttachments.methods.insert.request.$ref - resources.networkAttachments.methods.insert.response.$ref - resources.networkAttachments.methods.insert.scopes - resources.networkAttachments.methods.list.description - resources.networkAttachments.methods.list.flatPath - resources.networkAttachments.methods.list.httpMethod - resources.networkAttachments.methods.list.id - resources.networkAttachments.methods.list.parameterOrder - resources.networkAttachments.methods.list.parameters.filter.description - resources.networkAttachments.methods.list.parameters.filter.location - resources.networkAttachments.methods.list.parameters.filter.type - resources.networkAttachments.methods.list.parameters.maxResults.default - resources.networkAttachments.methods.list.parameters.maxResults.description - resources.networkAttachments.methods.list.parameters.maxResults.format - resources.networkAttachments.methods.list.parameters.maxResults.location - resources.networkAttachments.methods.list.parameters.maxResults.minimum - resources.networkAttachments.methods.list.parameters.maxResults.type - resources.networkAttachments.methods.list.parameters.orderBy.description - resources.networkAttachments.methods.list.parameters.orderBy.location - resources.networkAttachments.methods.list.parameters.orderBy.type - resources.networkAttachments.methods.list.parameters.pageToken.description - resources.networkAttachments.methods.list.parameters.pageToken.location - resources.networkAttachments.methods.list.parameters.pageToken.type - resources.networkAttachments.methods.list.parameters.project.description - resources.networkAttachments.methods.list.parameters.project.location - resources.networkAttachments.methods.list.parameters.project.pattern - resources.networkAttachments.methods.list.parameters.project.required - resources.networkAttachments.methods.list.parameters.project.type - resources.networkAttachments.methods.list.parameters.region.description - resources.networkAttachments.methods.list.parameters.region.location - resources.networkAttachments.methods.list.parameters.region.pattern - resources.networkAttachments.methods.list.parameters.region.required - resources.networkAttachments.methods.list.parameters.region.type - resources.networkAttachments.methods.list.parameters.returnPartialSuccess.description - resources.networkAttachments.methods.list.parameters.returnPartialSuccess.location - resources.networkAttachments.methods.list.parameters.returnPartialSuccess.type - resources.networkAttachments.methods.list.path - resources.networkAttachments.methods.list.response.$ref - resources.networkAttachments.methods.list.scopes - resources.networkAttachments.methods.setIamPolicy.description - resources.networkAttachments.methods.setIamPolicy.flatPath - resources.networkAttachments.methods.setIamPolicy.httpMethod - resources.networkAttachments.methods.setIamPolicy.id - resources.networkAttachments.methods.setIamPolicy.parameterOrder - resources.networkAttachments.methods.setIamPolicy.parameters.project.description - resources.networkAttachments.methods.setIamPolicy.parameters.project.location - resources.networkAttachments.methods.setIamPolicy.parameters.project.pattern - resources.networkAttachments.methods.setIamPolicy.parameters.project.required - resources.networkAttachments.methods.setIamPolicy.parameters.project.type - resources.networkAttachments.methods.setIamPolicy.parameters.region.description - resources.networkAttachments.methods.setIamPolicy.parameters.region.location - resources.networkAttachments.methods.setIamPolicy.parameters.region.pattern - resources.networkAttachments.methods.setIamPolicy.parameters.region.required - resources.networkAttachments.methods.setIamPolicy.parameters.region.type - resources.networkAttachments.methods.setIamPolicy.parameters.resource.description - resources.networkAttachments.methods.setIamPolicy.parameters.resource.location - resources.networkAttachments.methods.setIamPolicy.parameters.resource.pattern - resources.networkAttachments.methods.setIamPolicy.parameters.resource.required - resources.networkAttachments.methods.setIamPolicy.parameters.resource.type - resources.networkAttachments.methods.setIamPolicy.path - resources.networkAttachments.methods.setIamPolicy.request.$ref - resources.networkAttachments.methods.setIamPolicy.response.$ref - resources.networkAttachments.methods.setIamPolicy.scopes - resources.networkAttachments.methods.testIamPermissions.description - resources.networkAttachments.methods.testIamPermissions.flatPath - resources.networkAttachments.methods.testIamPermissions.httpMethod - resources.networkAttachments.methods.testIamPermissions.id - resources.networkAttachments.methods.testIamPermissions.parameterOrder - resources.networkAttachments.methods.testIamPermissions.parameters.project.description - resources.networkAttachments.methods.testIamPermissions.parameters.project.location - resources.networkAttachments.methods.testIamPermissions.parameters.project.pattern - resources.networkAttachments.methods.testIamPermissions.parameters.project.required - resources.networkAttachments.methods.testIamPermissions.parameters.project.type - resources.networkAttachments.methods.testIamPermissions.parameters.region.description - resources.networkAttachments.methods.testIamPermissions.parameters.region.location - resources.networkAttachments.methods.testIamPermissions.parameters.region.pattern - resources.networkAttachments.methods.testIamPermissions.parameters.region.required - resources.networkAttachments.methods.testIamPermissions.parameters.region.type - resources.networkAttachments.methods.testIamPermissions.parameters.resource.description - resources.networkAttachments.methods.testIamPermissions.parameters.resource.location - resources.networkAttachments.methods.testIamPermissions.parameters.resource.pattern - resources.networkAttachments.methods.testIamPermissions.parameters.resource.required - resources.networkAttachments.methods.testIamPermissions.parameters.resource.type - resources.networkAttachments.methods.testIamPermissions.path - resources.networkAttachments.methods.testIamPermissions.request.$ref - resources.networkAttachments.methods.testIamPermissions.response.$ref - resources.networkAttachments.methods.testIamPermissions.scopes - resources.regionSecurityPolicies.methods.addRule.description - resources.regionSecurityPolicies.methods.addRule.flatPath - resources.regionSecurityPolicies.methods.addRule.httpMethod - resources.regionSecurityPolicies.methods.addRule.id - resources.regionSecurityPolicies.methods.addRule.parameterOrder - resources.regionSecurityPolicies.methods.addRule.parameters.project.description - resources.regionSecurityPolicies.methods.addRule.parameters.project.location - resources.regionSecurityPolicies.methods.addRule.parameters.project.pattern - resources.regionSecurityPolicies.methods.addRule.parameters.project.required - resources.regionSecurityPolicies.methods.addRule.parameters.project.type - resources.regionSecurityPolicies.methods.addRule.parameters.region.description - resources.regionSecurityPolicies.methods.addRule.parameters.region.location - resources.regionSecurityPolicies.methods.addRule.parameters.region.pattern - resources.regionSecurityPolicies.methods.addRule.parameters.region.required - resources.regionSecurityPolicies.methods.addRule.parameters.region.type - resources.regionSecurityPolicies.methods.addRule.parameters.securityPolicy.description - resources.regionSecurityPolicies.methods.addRule.parameters.securityPolicy.location - resources.regionSecurityPolicies.methods.addRule.parameters.securityPolicy.pattern - resources.regionSecurityPolicies.methods.addRule.parameters.securityPolicy.required - resources.regionSecurityPolicies.methods.addRule.parameters.securityPolicy.type - resources.regionSecurityPolicies.methods.addRule.parameters.validateOnly.description - resources.regionSecurityPolicies.methods.addRule.parameters.validateOnly.location - resources.regionSecurityPolicies.methods.addRule.parameters.validateOnly.type - resources.regionSecurityPolicies.methods.addRule.path - resources.regionSecurityPolicies.methods.addRule.request.$ref - resources.regionSecurityPolicies.methods.addRule.response.$ref - resources.regionSecurityPolicies.methods.addRule.scopes - resources.regionSecurityPolicies.methods.getRule.description - resources.regionSecurityPolicies.methods.getRule.flatPath - resources.regionSecurityPolicies.methods.getRule.httpMethod - resources.regionSecurityPolicies.methods.getRule.id - resources.regionSecurityPolicies.methods.getRule.parameterOrder - resources.regionSecurityPolicies.methods.getRule.parameters.priority.description - resources.regionSecurityPolicies.methods.getRule.parameters.priority.format - resources.regionSecurityPolicies.methods.getRule.parameters.priority.location - resources.regionSecurityPolicies.methods.getRule.parameters.priority.type - resources.regionSecurityPolicies.methods.getRule.parameters.project.description - resources.regionSecurityPolicies.methods.getRule.parameters.project.location - resources.regionSecurityPolicies.methods.getRule.parameters.project.pattern - resources.regionSecurityPolicies.methods.getRule.parameters.project.required - resources.regionSecurityPolicies.methods.getRule.parameters.project.type - resources.regionSecurityPolicies.methods.getRule.parameters.region.description - resources.regionSecurityPolicies.methods.getRule.parameters.region.location - resources.regionSecurityPolicies.methods.getRule.parameters.region.pattern - resources.regionSecurityPolicies.methods.getRule.parameters.region.required - resources.regionSecurityPolicies.methods.getRule.parameters.region.type - resources.regionSecurityPolicies.methods.getRule.parameters.securityPolicy.description - resources.regionSecurityPolicies.methods.getRule.parameters.securityPolicy.location - resources.regionSecurityPolicies.methods.getRule.parameters.securityPolicy.pattern - resources.regionSecurityPolicies.methods.getRule.parameters.securityPolicy.required - resources.regionSecurityPolicies.methods.getRule.parameters.securityPolicy.type - resources.regionSecurityPolicies.methods.getRule.path - resources.regionSecurityPolicies.methods.getRule.response.$ref - resources.regionSecurityPolicies.methods.getRule.scopes - resources.regionSecurityPolicies.methods.patch.parameters.paths.location - resources.regionSecurityPolicies.methods.patch.parameters.paths.repeated - resources.regionSecurityPolicies.methods.patch.parameters.paths.type - resources.regionSecurityPolicies.methods.patch.parameters.updateMask.description - resources.regionSecurityPolicies.methods.patch.parameters.updateMask.format - resources.regionSecurityPolicies.methods.patch.parameters.updateMask.location - resources.regionSecurityPolicies.methods.patch.parameters.updateMask.type - resources.regionSecurityPolicies.methods.patchRule.description - resources.regionSecurityPolicies.methods.patchRule.flatPath - resources.regionSecurityPolicies.methods.patchRule.httpMethod - resources.regionSecurityPolicies.methods.patchRule.id - resources.regionSecurityPolicies.methods.patchRule.parameterOrder - resources.regionSecurityPolicies.methods.patchRule.parameters.priority.description - resources.regionSecurityPolicies.methods.patchRule.parameters.priority.format - resources.regionSecurityPolicies.methods.patchRule.parameters.priority.location - resources.regionSecurityPolicies.methods.patchRule.parameters.priority.type - resources.regionSecurityPolicies.methods.patchRule.parameters.project.description - resources.regionSecurityPolicies.methods.patchRule.parameters.project.location - resources.regionSecurityPolicies.methods.patchRule.parameters.project.pattern - resources.regionSecurityPolicies.methods.patchRule.parameters.project.required - resources.regionSecurityPolicies.methods.patchRule.parameters.project.type - resources.regionSecurityPolicies.methods.patchRule.parameters.region.description - resources.regionSecurityPolicies.methods.patchRule.parameters.region.location - resources.regionSecurityPolicies.methods.patchRule.parameters.region.pattern - resources.regionSecurityPolicies.methods.patchRule.parameters.region.required - resources.regionSecurityPolicies.methods.patchRule.parameters.region.type - resources.regionSecurityPolicies.methods.patchRule.parameters.securityPolicy.description - resources.regionSecurityPolicies.methods.patchRule.parameters.securityPolicy.location - resources.regionSecurityPolicies.methods.patchRule.parameters.securityPolicy.pattern - resources.regionSecurityPolicies.methods.patchRule.parameters.securityPolicy.required - resources.regionSecurityPolicies.methods.patchRule.parameters.securityPolicy.type - resources.regionSecurityPolicies.methods.patchRule.parameters.validateOnly.description - resources.regionSecurityPolicies.methods.patchRule.parameters.validateOnly.location - resources.regionSecurityPolicies.methods.patchRule.parameters.validateOnly.type - resources.regionSecurityPolicies.methods.patchRule.path - resources.regionSecurityPolicies.methods.patchRule.request.$ref - resources.regionSecurityPolicies.methods.patchRule.response.$ref - resources.regionSecurityPolicies.methods.patchRule.scopes - resources.regionSecurityPolicies.methods.removeRule.description - resources.regionSecurityPolicies.methods.removeRule.flatPath - resources.regionSecurityPolicies.methods.removeRule.httpMethod - resources.regionSecurityPolicies.methods.removeRule.id - resources.regionSecurityPolicies.methods.removeRule.parameterOrder - resources.regionSecurityPolicies.methods.removeRule.parameters.priority.description - resources.regionSecurityPolicies.methods.removeRule.parameters.priority.format - resources.regionSecurityPolicies.methods.removeRule.parameters.priority.location - resources.regionSecurityPolicies.methods.removeRule.parameters.priority.type - resources.regionSecurityPolicies.methods.removeRule.parameters.project.description - resources.regionSecurityPolicies.methods.removeRule.parameters.project.location - resources.regionSecurityPolicies.methods.removeRule.parameters.project.pattern - resources.regionSecurityPolicies.methods.removeRule.parameters.project.required - resources.regionSecurityPolicies.methods.removeRule.parameters.project.type - resources.regionSecurityPolicies.methods.removeRule.parameters.region.description - resources.regionSecurityPolicies.methods.removeRule.parameters.region.location - resources.regionSecurityPolicies.methods.removeRule.parameters.region.pattern - resources.regionSecurityPolicies.methods.removeRule.parameters.region.required - resources.regionSecurityPolicies.methods.removeRule.parameters.region.type - resources.regionSecurityPolicies.methods.removeRule.parameters.securityPolicy.description - resources.regionSecurityPolicies.methods.removeRule.parameters.securityPolicy.location - resources.regionSecurityPolicies.methods.removeRule.parameters.securityPolicy.pattern - resources.regionSecurityPolicies.methods.removeRule.parameters.securityPolicy.required - resources.regionSecurityPolicies.methods.removeRule.parameters.securityPolicy.type - resources.regionSecurityPolicies.methods.removeRule.path - resources.regionSecurityPolicies.methods.removeRule.response.$ref - resources.regionSecurityPolicies.methods.removeRule.scopes - resources.securityPolicies.methods.patch.parameters.paths.location - resources.securityPolicies.methods.patch.parameters.paths.repeated - resources.securityPolicies.methods.patch.parameters.paths.type - resources.securityPolicies.methods.patch.parameters.updateMask.description - resources.securityPolicies.methods.patch.parameters.updateMask.format - resources.securityPolicies.methods.patch.parameters.updateMask.location - resources.securityPolicies.methods.patch.parameters.updateMask.type - schemas.BackendServiceLogConfig.properties.optional.description - schemas.BackendServiceLogConfig.properties.optional.enum - schemas.BackendServiceLogConfig.properties.optional.enumDescriptions - schemas.BackendServiceLogConfig.properties.optional.type - schemas.BackendServiceLogConfig.properties.optionalFields.description - schemas.BackendServiceLogConfig.properties.optionalFields.items.type - schemas.BackendServiceLogConfig.properties.optionalFields.type - schemas.InstanceGroupManagerActionsSummary.properties.queuing.description - schemas.InstanceGroupManagerActionsSummary.properties.queuing.format - schemas.InstanceGroupManagerActionsSummary.properties.queuing.type - schemas.ManagedInstance.properties.name.description - schemas.ManagedInstance.properties.name.type - schemas.NetworkAttachment.description - schemas.NetworkAttachment.id - schemas.NetworkAttachment.properties.connectionEndpoints.description - schemas.NetworkAttachment.properties.connectionEndpoints.items.$ref - schemas.NetworkAttachment.properties.connectionEndpoints.type - schemas.NetworkAttachment.properties.connectionPreference.enum - schemas.NetworkAttachment.properties.connectionPreference.enumDescriptions - schemas.NetworkAttachment.properties.connectionPreference.type - schemas.NetworkAttachment.properties.creationTimestamp.description - schemas.NetworkAttachment.properties.creationTimestamp.type - schemas.NetworkAttachment.properties.description.description - schemas.NetworkAttachment.properties.description.type - schemas.NetworkAttachment.properties.fingerprint.description - schemas.NetworkAttachment.properties.fingerprint.format - schemas.NetworkAttachment.properties.fingerprint.type - schemas.NetworkAttachment.properties.id.description - schemas.NetworkAttachment.properties.id.format - schemas.NetworkAttachment.properties.id.type - schemas.NetworkAttachment.properties.kind.default - schemas.NetworkAttachment.properties.kind.description - schemas.NetworkAttachment.properties.kind.type - schemas.NetworkAttachment.properties.name.annotations.required - schemas.NetworkAttachment.properties.name.description - schemas.NetworkAttachment.properties.name.pattern - schemas.NetworkAttachment.properties.name.type - schemas.NetworkAttachment.properties.network.description - schemas.NetworkAttachment.properties.network.type - schemas.NetworkAttachment.properties.producerAcceptLists.description - schemas.NetworkAttachment.properties.producerAcceptLists.items.type - schemas.NetworkAttachment.properties.producerAcceptLists.type - schemas.NetworkAttachment.properties.producerRejectLists.description - schemas.NetworkAttachment.properties.producerRejectLists.items.type - schemas.NetworkAttachment.properties.producerRejectLists.type - schemas.NetworkAttachment.properties.region.description - schemas.NetworkAttachment.properties.region.type - schemas.NetworkAttachment.properties.selfLink.description - schemas.NetworkAttachment.properties.selfLink.type - schemas.NetworkAttachment.properties.selfLinkWithId.description - schemas.NetworkAttachment.properties.selfLinkWithId.type - schemas.NetworkAttachment.properties.subnetworks.description - schemas.NetworkAttachment.properties.subnetworks.items.type - schemas.NetworkAttachment.properties.subnetworks.type - schemas.NetworkAttachment.type - schemas.NetworkAttachmentAggregatedList.description - schemas.NetworkAttachmentAggregatedList.id - schemas.NetworkAttachmentAggregatedList.properties.id.description - schemas.NetworkAttachmentAggregatedList.properties.id.type - schemas.NetworkAttachmentAggregatedList.properties.items.additionalProperties.$ref - schemas.NetworkAttachmentAggregatedList.properties.items.additionalProperties.description - schemas.NetworkAttachmentAggregatedList.properties.items.description - schemas.NetworkAttachmentAggregatedList.properties.items.type - schemas.NetworkAttachmentAggregatedList.properties.kind.default - schemas.NetworkAttachmentAggregatedList.properties.kind.type - schemas.NetworkAttachmentAggregatedList.properties.nextPageToken.description - schemas.NetworkAttachmentAggregatedList.properties.nextPageToken.type - schemas.NetworkAttachmentAggregatedList.properties.selfLink.description - schemas.NetworkAttachmentAggregatedList.properties.selfLink.type - schemas.NetworkAttachmentAggregatedList.properties.warning.description - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.code.description - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.code.enum - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.code.enumDescriptions - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.code.type - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.data.description - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.data.items.properties.key.description - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.data.items.properties.key.type - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.data.items.properties.value.description - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.data.items.properties.value.type - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.data.items.type - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.data.type - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.message.description - schemas.NetworkAttachmentAggregatedList.properties.warning.properties.message.type - schemas.NetworkAttachmentAggregatedList.properties.warning.type - schemas.NetworkAttachmentAggregatedList.type - schemas.NetworkAttachmentConnectedEndpoint.description - schemas.NetworkAttachmentConnectedEndpoint.id - schemas.NetworkAttachmentConnectedEndpoint.properties.ipAddress.description - schemas.NetworkAttachmentConnectedEndpoint.properties.ipAddress.type - schemas.NetworkAttachmentConnectedEndpoint.properties.projectIdOrNum.description - schemas.NetworkAttachmentConnectedEndpoint.properties.projectIdOrNum.type - schemas.NetworkAttachmentConnectedEndpoint.properties.secondaryIpCidrRanges.description - schemas.NetworkAttachmentConnectedEndpoint.properties.secondaryIpCidrRanges.items.type - schemas.NetworkAttachmentConnectedEndpoint.properties.secondaryIpCidrRanges.type - schemas.NetworkAttachmentConnectedEndpoint.properties.status.description - schemas.NetworkAttachmentConnectedEndpoint.properties.status.enum - schemas.NetworkAttachmentConnectedEndpoint.properties.status.enumDescriptions - schemas.NetworkAttachmentConnectedEndpoint.properties.status.type - schemas.NetworkAttachmentConnectedEndpoint.properties.subnetwork.description - schemas.NetworkAttachmentConnectedEndpoint.properties.subnetwork.type - schemas.NetworkAttachmentConnectedEndpoint.type - schemas.NetworkAttachmentList.id - schemas.NetworkAttachmentList.properties.id.description - schemas.NetworkAttachmentList.properties.id.type - schemas.NetworkAttachmentList.properties.items.description - schemas.NetworkAttachmentList.properties.items.items.$ref - schemas.NetworkAttachmentList.properties.items.type - schemas.NetworkAttachmentList.properties.kind.default - schemas.NetworkAttachmentList.properties.kind.type - schemas.NetworkAttachmentList.properties.nextPageToken.description - schemas.NetworkAttachmentList.properties.nextPageToken.type - schemas.NetworkAttachmentList.properties.selfLink.description - schemas.NetworkAttachmentList.properties.selfLink.type - schemas.NetworkAttachmentList.properties.warning.description - schemas.NetworkAttachmentList.properties.warning.properties.code.description - schemas.NetworkAttachmentList.properties.warning.properties.code.enum - schemas.NetworkAttachmentList.properties.warning.properties.code.enumDescriptions - schemas.NetworkAttachmentList.properties.warning.properties.code.type - schemas.NetworkAttachmentList.properties.warning.properties.data.description - schemas.NetworkAttachmentList.properties.warning.properties.data.items.properties.key.description - schemas.NetworkAttachmentList.properties.warning.properties.data.items.properties.key.type - schemas.NetworkAttachmentList.properties.warning.properties.data.items.properties.value.description - schemas.NetworkAttachmentList.properties.warning.properties.data.items.properties.value.type - schemas.NetworkAttachmentList.properties.warning.properties.data.items.type - schemas.NetworkAttachmentList.properties.warning.properties.data.type - schemas.NetworkAttachmentList.properties.warning.properties.message.description - schemas.NetworkAttachmentList.properties.warning.properties.message.type - schemas.NetworkAttachmentList.properties.warning.type - schemas.NetworkAttachmentList.type - schemas.NetworkAttachmentsScopedList.id - schemas.NetworkAttachmentsScopedList.properties.networkAttachments.description - schemas.NetworkAttachmentsScopedList.properties.networkAttachments.items.$ref - schemas.NetworkAttachmentsScopedList.properties.networkAttachments.type - schemas.NetworkAttachmentsScopedList.properties.warning.description - schemas.NetworkAttachmentsScopedList.properties.warning.properties.code.description - schemas.NetworkAttachmentsScopedList.properties.warning.properties.code.enum - schemas.NetworkAttachmentsScopedList.properties.warning.properties.code.enumDescriptions - schemas.NetworkAttachmentsScopedList.properties.warning.properties.code.type - schemas.NetworkAttachmentsScopedList.properties.warning.properties.data.description - schemas.NetworkAttachmentsScopedList.properties.warning.properties.data.items.properties.key.description - schemas.NetworkAttachmentsScopedList.properties.warning.properties.data.items.properties.key.type - schemas.NetworkAttachmentsScopedList.properties.warning.properties.data.items.properties.value.description - schemas.NetworkAttachmentsScopedList.properties.warning.properties.data.items.properties.value.type - schemas.NetworkAttachmentsScopedList.properties.warning.properties.data.items.type - schemas.NetworkAttachmentsScopedList.properties.warning.properties.data.type - schemas.NetworkAttachmentsScopedList.properties.warning.properties.message.description - schemas.NetworkAttachmentsScopedList.properties.warning.properties.message.type - schemas.NetworkAttachmentsScopedList.properties.warning.type - schemas.NetworkAttachmentsScopedList.type The following keys were changed: - schemas.Address.properties.purpose.description - schemas.Address.properties.purpose.enumDescriptions - schemas.AttachedDisk.properties.interface.description - schemas.BackendServiceLogConfig.properties.enable.description - schemas.BackendServiceLogConfig.properties.sampleRate.description - schemas.Binding.properties.members.description - schemas.Firewall.properties.direction.description - schemas.FirewallPolicy.properties.displayName.description - schemas.FirewallPolicy.properties.name.description - schemas.FirewallPolicy.properties.parent.description - schemas.FirewallPolicy.properties.shortName.description - schemas.HttpRouteRule.properties.routeAction.description - schemas.InstanceManagedByIgmErrorInstanceActionDetails.properties.action.enum - schemas.InstanceManagedByIgmErrorInstanceActionDetails.properties.action.enumDescriptions - schemas.InterconnectAttachment.properties.encryption.description - schemas.InterconnectAttachment.properties.encryption.enumDescriptions - schemas.LocalizedMessage.properties.locale.description - schemas.ManagedInstance.properties.currentAction.enum - schemas.ManagedInstance.properties.currentAction.enumDescriptions - schemas.Network.properties.mtu.description - schemas.PathMatcher.properties.defaultRouteAction.description - schemas.PathRule.properties.routeAction.description - schemas.Router.properties.encryptedInterconnectRouter.description - schemas.UpcomingMaintenance.description - schemas.UrlMap.properties.defaultRouteAction.description - schemas.VpnGatewayVpnGatewayInterface.properties.interconnectAttachment.description - schemas.VpnGatewayVpnGatewayInterface.properties.ipAddress.description #### compute:beta The following keys were added: - schemas.AttachedDisk.properties.forceAttach.description - schemas.AttachedDisk.properties.forceAttach.type - schemas.Commitment.properties.mergeSourceCommitments.description - schemas.Commitment.properties.mergeSourceCommitments.items.type - schemas.Commitment.properties.mergeSourceCommitments.type - schemas.Commitment.properties.splitSourceCommitment.description - schemas.Commitment.properties.splitSourceCommitment.type The following keys were changed: - schemas.Address.properties.purpose.description - schemas.Address.properties.purpose.enumDescriptions - schemas.AttachedDisk.properties.interface.description - schemas.BackendServiceLogConfig.properties.enable.description - schemas.BackendServiceLogConfig.properties.sampleRate.description - schemas.Binding.properties.members.description - schemas.Firewall.properties.direction.description - schemas.FirewallPolicy.properties.displayName.description - schemas.FirewallPolicy.properties.name.description - schemas.FirewallPolicy.properties.parent.description - schemas.FirewallPolicy.properties.shortName.description - schemas.HttpRouteRule.properties.routeAction.description - schemas.InterconnectAttachment.properties.encryption.description - schemas.InterconnectAttachment.properties.encryption.enumDescriptions - schemas.LocalizedMessage.properties.locale.description - schemas.Network.properties.mtu.description - schemas.PathMatcher.properties.defaultRouteAction.description - schemas.PathRule.properties.routeAction.description - schemas.Router.properties.encryptedInterconnectRouter.description - schemas.UrlMap.properties.defaultRouteAction.description - schemas.VpnGatewayVpnGatewayInterface.properties.interconnectAttachment.description - schemas.VpnGatewayVpnGatewayInterface.properties.ipAddress.description #### compute:v1 The following keys were added: - resources.addresses.methods.setLabels.description - resources.addresses.methods.setLabels.flatPath - resources.addresses.methods.setLabels.httpMethod - resources.addresses.methods.setLabels.id - resources.addresses.methods.setLabels.parameterOrder - resources.addresses.methods.setLabels.parameters.project.description - resources.addresses.methods.setLabels.parameters.project.location - resources.addresses.methods.setLabels.parameters.project.pattern - resources.addresses.methods.setLabels.parameters.project.required - resources.addresses.methods.setLabels.parameters.project.type - resources.addresses.methods.setLabels.parameters.region.description - resources.addresses.methods.setLabels.parameters.region.location - resources.addresses.methods.setLabels.parameters.region.pattern - resources.addresses.methods.setLabels.parameters.region.required - resources.addresses.methods.setLabels.parameters.region.type - resources.addresses.methods.setLabels.parameters.requestId.description - resources.addresses.methods.setLabels.parameters.requestId.location - resources.addresses.methods.setLabels.parameters.requestId.type - resources.addresses.methods.setLabels.parameters.resource.description - resources.addresses.methods.setLabels.parameters.resource.location - resources.addresses.methods.setLabels.parameters.resource.pattern - resources.addresses.methods.setLabels.parameters.resource.required - resources.addresses.methods.setLabels.parameters.resource.type - resources.addresses.methods.setLabels.path - resources.addresses.methods.setLabels.request.$ref - resources.addresses.methods.setLabels.response.$ref - resources.addresses.methods.setLabels.scopes - resources.backendServices.methods.getIamPolicy.description - resources.backendServices.methods.getIamPolicy.flatPath - resources.backendServices.methods.getIamPolicy.httpMethod - resources.backendServices.methods.getIamPolicy.id - resources.backendServices.methods.getIamPolicy.parameterOrder - resources.backendServices.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.description - resources.backendServices.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.format - resources.backendServices.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.location - resources.backendServices.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.type - resources.backendServices.methods.getIamPolicy.parameters.project.description - resources.backendServices.methods.getIamPolicy.parameters.project.location - resources.backendServices.methods.getIamPolicy.parameters.project.pattern - resources.backendServices.methods.getIamPolicy.parameters.project.required - resources.backendServices.methods.getIamPolicy.parameters.project.type - resources.backendServices.methods.getIamPolicy.parameters.resource.description - resources.backendServices.methods.getIamPolicy.parameters.resource.location - resources.backendServices.methods.getIamPolicy.parameters.resource.pattern - resources.backendServices.methods.getIamPolicy.parameters.resource.required - resources.backendServices.methods.getIamPolicy.parameters.resource.type - resources.backendServices.methods.getIamPolicy.path - resources.backendServices.methods.getIamPolicy.response.$ref - resources.backendServices.methods.getIamPolicy.scopes - resources.backendServices.methods.setIamPolicy.description - resources.backendServices.methods.setIamPolicy.flatPath - resources.backendServices.methods.setIamPolicy.httpMethod - resources.backendServices.methods.setIamPolicy.id - resources.backendServices.methods.setIamPolicy.parameterOrder - resources.backendServices.methods.setIamPolicy.parameters.project.description - resources.backendServices.methods.setIamPolicy.parameters.project.location - resources.backendServices.methods.setIamPolicy.parameters.project.pattern - resources.backendServices.methods.setIamPolicy.parameters.project.required - resources.backendServices.methods.setIamPolicy.parameters.project.type - resources.backendServices.methods.setIamPolicy.parameters.resource.description - resources.backendServices.methods.setIamPolicy.parameters.resource.location - resources.backendServices.methods.setIamPolicy.parameters.resource.pattern - resources.backendServices.methods.setIamPolicy.parameters.resource.required - resources.backendServices.methods.setIamPolicy.parameters.resource.type - resources.backendServices.methods.setIamPolicy.path - resources.backendServices.methods.setIamPolicy.request.$ref - resources.backendServices.methods.setIamPolicy.response.$ref - resources.backendServices.methods.setIamPolicy.scopes - resources.globalAddresses.methods.setLabels.description - resources.globalAddresses.methods.setLabels.flatPath - resources.globalAddresses.methods.setLabels.httpMethod - resources.globalAddresses.methods.setLabels.id - resources.globalAddresses.methods.setLabels.parameterOrder - resources.globalAddresses.methods.setLabels.parameters.project.description - resources.globalAddresses.methods.setLabels.parameters.project.location - resources.globalAddresses.methods.setLabels.parameters.project.pattern - resources.globalAddresses.methods.setLabels.parameters.project.required - resources.globalAddresses.methods.setLabels.parameters.project.type - resources.globalAddresses.methods.setLabels.parameters.resource.description - resources.globalAddresses.methods.setLabels.parameters.resource.location - resources.globalAddresses.methods.setLabels.parameters.resource.pattern - resources.globalAddresses.methods.setLabels.parameters.resource.required - resources.globalAddresses.methods.setLabels.parameters.resource.type - resources.globalAddresses.methods.setLabels.path - resources.globalAddresses.methods.setLabels.request.$ref - resources.globalAddresses.methods.setLabels.response.$ref - resources.globalAddresses.methods.setLabels.scopes - resources.interconnectAttachments.methods.setLabels.description - resources.interconnectAttachments.methods.setLabels.flatPath - resources.interconnectAttachments.methods.setLabels.httpMethod - resources.interconnectAttachments.methods.setLabels.id - resources.interconnectAttachments.methods.setLabels.parameterOrder - resources.interconnectAttachments.methods.setLabels.parameters.project.description - resources.interconnectAttachments.methods.setLabels.parameters.project.location - resources.interconnectAttachments.methods.setLabels.parameters.project.pattern - resources.interconnectAttachments.methods.setLabels.parameters.project.required - resources.interconnectAttachments.methods.setLabels.parameters.project.type - resources.interconnectAttachments.methods.setLabels.parameters.region.description - resources.interconnectAttachments.methods.setLabels.parameters.region.location - resources.interconnectAttachments.methods.setLabels.parameters.region.pattern - resources.interconnectAttachments.methods.setLabels.parameters.region.required - resources.interconnectAttachments.methods.setLabels.parameters.region.type - resources.interconnectAttachments.methods.setLabels.parameters.requestId.description - resources.interconnectAttachments.methods.setLabels.parameters.requestId.location - resources.interconnectAttachments.methods.setLabels.parameters.requestId.type - resources.interconnectAttachments.methods.setLabels.parameters.resource.description - resources.interconnectAttachments.methods.setLabels.parameters.resource.location - resources.interconnectAttachments.methods.setLabels.parameters.resource.pattern - resources.interconnectAttachments.methods.setLabels.parameters.resource.required - resources.interconnectAttachments.methods.setLabels.parameters.resource.type - resources.interconnectAttachments.methods.setLabels.path - resources.interconnectAttachments.methods.setLabels.request.$ref - resources.interconnectAttachments.methods.setLabels.response.$ref - resources.interconnectAttachments.methods.setLabels.scopes - resources.interconnects.methods.setLabels.description - resources.interconnects.methods.setLabels.flatPath - resources.interconnects.methods.setLabels.httpMethod - resources.interconnects.methods.setLabels.id - resources.interconnects.methods.setLabels.parameterOrder - resources.interconnects.methods.setLabels.parameters.project.description - resources.interconnects.methods.setLabels.parameters.project.location - resources.interconnects.methods.setLabels.parameters.project.pattern - resources.interconnects.methods.setLabels.parameters.project.required - resources.interconnects.methods.setLabels.parameters.project.type - resources.interconnects.methods.setLabels.parameters.resource.description - resources.interconnects.methods.setLabels.parameters.resource.location - resources.interconnects.methods.setLabels.parameters.resource.pattern - resources.interconnects.methods.setLabels.parameters.resource.required - resources.interconnects.methods.setLabels.parameters.resource.type - resources.interconnects.methods.setLabels.path - resources.interconnects.methods.setLabels.request.$ref - resources.interconnects.methods.setLabels.response.$ref - resources.interconnects.methods.setLabels.scopes - resources.regionBackendServices.methods.getIamPolicy.description - resources.regionBackendServices.methods.getIamPolicy.flatPath - resources.regionBackendServices.methods.getIamPolicy.httpMethod - resources.regionBackendServices.methods.getIamPolicy.id - resources.regionBackendServices.methods.getIamPolicy.parameterOrder - resources.regionBackendServices.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.description - resources.regionBackendServices.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.format - resources.regionBackendServices.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.location - resources.regionBackendServices.methods.getIamPolicy.parameters.optionsRequestedPolicyVersion.type - resources.regionBackendServices.methods.getIamPolicy.parameters.project.description - resources.regionBackendServices.methods.getIamPolicy.parameters.project.location - resources.regionBackendServices.methods.getIamPolicy.parameters.project.pattern - resources.regionBackendServices.methods.getIamPolicy.parameters.project.required - resources.regionBackendServices.methods.getIamPolicy.parameters.project.type - resources.regionBackendServices.methods.getIamPolicy.parameters.region.description - resources.regionBackendServices.methods.getIamPolicy.parameters.region.location - resources.regionBackendServices.methods.getIamPolicy.parameters.region.pattern - resources.regionBackendServices.methods.getIamPolicy.parameters.region.required - resources.regionBackendServices.methods.getIamPolicy.parameters.region.type - resources.regionBackendServices.methods.getIamPolicy.parameters.resource.description - resources.regionBackendServices.methods.getIamPolicy.parameters.resource.location - resources.regionBackendServices.methods.getIamPolicy.parameters.resource.pattern - resources.regionBackendServices.methods.getIamPolicy.parameters.resource.required - resources.regionBackendServices.methods.getIamPolicy.parameters.resource.type - resources.regionBackendServices.methods.getIamPolicy.path - resources.regionBackendServices.methods.getIamPolicy.response.$ref - resources.regionBackendServices.methods.getIamPolicy.scopes - resources.regionBackendServices.methods.setIamPolicy.description - resources.regionBackendServices.methods.setIamPolicy.flatPath - resources.regionBackendServices.methods.setIamPolicy.httpMethod - resources.regionBackendServices.methods.setIamPolicy.id - resources.regionBackendServices.methods.setIamPolicy.parameterOrder - resources.regionBackendServices.methods.setIamPolicy.parameters.project.description - resources.regionBackendServices.methods.setIamPolicy.parameters.project.location - resources.regionBackendServices.methods.setIamPolicy.parameters.project.pattern - resources.regionBackendServices.methods.setIamPolicy.parameters.project.required - resources.regionBackendServices.methods.setIamPolicy.parameters.project.type - resources.regionBackendServices.methods.setIamPolicy.parameters.region.description - resources.regionBackendServices.methods.setIamPolicy.parameters.region.location - resources.regionBackendServices.methods.setIamPolicy.parameters.region.pattern - resources.regionBackendServices.methods.setIamPolicy.parameters.region.required - resources.regionBackendServices.methods.setIamPolicy.parameters.region.type - resources.regionBackendServices.methods.setIamPolicy.parameters.resource.description - resources.regionBackendServices.methods.setIamPolicy.parameters.resource.location - resources.regionBackendServices.methods.setIamPolicy.parameters.resource.pattern - resources.regionBackendServices.methods.setIamPolicy.parameters.resource.required - resources.regionBackendServices.methods.setIamPolicy.parameters.resource.type - resources.regionBackendServices.methods.setIamPolicy.path - resources.regionBackendServices.methods.setIamPolicy.request.$ref - resources.regionBackendServices.methods.setIamPolicy.response.$ref - resources.regionBackendServices.methods.setIamPolicy.scopes - resources.regionTargetTcpProxies.methods.delete.description - resources.regionTargetTcpProxies.methods.delete.flatPath - resources.regionTargetTcpProxies.methods.delete.httpMethod - resources.regionTargetTcpProxies.methods.delete.id - resources.regionTargetTcpProxies.methods.delete.parameterOrder - resources.regionTargetTcpProxies.methods.delete.parameters.project.description - resources.regionTargetTcpProxies.methods.delete.parameters.project.location - resources.regionTargetTcpProxies.methods.delete.parameters.project.pattern - resources.regionTargetTcpProxies.methods.delete.parameters.project.required - resources.regionTargetTcpProxies.methods.delete.parameters.project.type - resources.regionTargetTcpProxies.methods.delete.parameters.region.description - resources.regionTargetTcpProxies.methods.delete.parameters.region.location - resources.regionTargetTcpProxies.methods.delete.parameters.region.pattern - resources.regionTargetTcpProxies.methods.delete.parameters.region.required - resources.regionTargetTcpProxies.methods.delete.parameters.region.type - resources.regionTargetTcpProxies.methods.delete.parameters.requestId.description - resources.regionTargetTcpProxies.methods.delete.parameters.requestId.location - resources.regionTargetTcpProxies.methods.delete.parameters.requestId.type - resources.regionTargetTcpProxies.methods.delete.parameters.targetTcpProxy.description - resources.regionTargetTcpProxies.methods.delete.parameters.targetTcpProxy.location - resources.regionTargetTcpProxies.methods.delete.parameters.targetTcpProxy.pattern - resources.regionTargetTcpProxies.methods.delete.parameters.targetTcpProxy.required - resources.regionTargetTcpProxies.methods.delete.parameters.targetTcpProxy.type - resources.regionTargetTcpProxies.methods.delete.path - resources.regionTargetTcpProxies.methods.delete.response.$ref - resources.regionTargetTcpProxies.methods.delete.scopes - resources.regionTargetTcpProxies.methods.get.description - resources.regionTargetTcpProxies.methods.get.flatPath - resources.regionTargetTcpProxies.methods.get.httpMethod - resources.regionTargetTcpProxies.methods.get.id - resources.regionTargetTcpProxies.methods.get.parameterOrder - resources.regionTargetTcpProxies.methods.get.parameters.project.description - resources.regionTargetTcpProxies.methods.get.parameters.project.location - resources.regionTargetTcpProxies.methods.get.parameters.project.pattern - resources.regionTargetTcpProxies.methods.get.parameters.project.required - resources.regionTargetTcpProxies.methods.get.parameters.project.type - resources.regionTargetTcpProxies.methods.get.parameters.region.description - resources.regionTargetTcpProxies.methods.get.parameters.region.location - resources.regionTargetTcpProxies.methods.get.parameters.region.pattern - resources.regionTargetTcpProxies.methods.get.parameters.region.required - resources.regionTargetTcpProxies.methods.get.parameters.region.type - resources.regionTargetTcpProxies.methods.get.parameters.targetTcpProxy.description - resources.regionTargetTcpProxies.methods.get.parameters.targetTcpProxy.location - resources.regionTargetTcpProxies.methods.get.parameters.targetTcpProxy.pattern - resources.regionTargetTcpProxies.methods.get.parameters.targetTcpProxy.required - resources.regionTargetTcpProxies.methods.get.parameters.targetTcpProxy.type - resources.regionTargetTcpProxies.methods.get.path - resources.regionTargetTcpProxies.methods.get.response.$ref - resources.regionTargetTcpProxies.methods.get.scopes - resources.regionTargetTcpProxies.methods.insert.description - resources.regionTargetTcpProxies.methods.insert.flatPath - resources.regionTargetTcpProxies.methods.insert.httpMethod - resources.regionTargetTcpProxies.methods.insert.id - resources.regionTargetTcpProxies.methods.insert.parameterOrder - resources.regionTargetTcpProxies.methods.insert.parameters.project.description - resources.regionTargetTcpProxies.methods.insert.parameters.project.location - resources.regionTargetTcpProxies.methods.insert.parameters.project.pattern - resources.regionTargetTcpProxies.methods.insert.parameters.project.required - resources.regionTargetTcpProxies.methods.insert.parameters.project.type - resources.regionTargetTcpProxies.methods.insert.parameters.region.description - resources.regionTargetTcpProxies.methods.insert.parameters.region.location - resources.regionTargetTcpProxies.methods.insert.parameters.region.pattern - resources.regionTargetTcpProxies.methods.insert.parameters.region.required - resources.regionTargetTcpProxies.methods.insert.parameters.region.type - resources.regionTargetTcpProxies.methods.insert.parameters.requestId.description - resources.regionTargetTcpProxies.methods.insert.parameters.requestId.location - resources.regionTargetTcpProxies.methods.insert.parameters.requestId.type - resources.regionTargetTcpProxies.methods.insert.path - resources.regionTargetTcpProxies.methods.insert.request.$ref - resources.regionTargetTcpProxies.methods.insert.response.$ref - resources.regionTargetTcpProxies.methods.insert.scopes - resources.regionTargetTcpProxies.methods.list.description - resources.regionTargetTcpProxies.methods.list.flatPath - resources.regionTargetTcpProxies.methods.list.httpMethod - resources.regionTargetTcpProxies.methods.list.id - resources.regionTargetTcpProxies.methods.list.parameterOrder - resources.regionTargetTcpProxies.methods.list.parameters.filter.description - resources.regionTargetTcpProxies.methods.list.parameters.filter.location - resources.regionTargetTcpProxies.methods.list.parameters.filter.type - resources.regionTargetTcpProxies.methods.list.parameters.maxResults.default - resources.regionTargetTcpProxies.methods.list.parameters.maxResults.description - resources.regionTargetTcpProxies.methods.list.parameters.maxResults.format - resources.regionTargetTcpProxies.methods.list.parameters.maxResults.location - resources.regionTargetTcpProxies.methods.list.parameters.maxResults.minimum - resources.regionTargetTcpProxies.methods.list.parameters.maxResults.type - resources.regionTargetTcpProxies.methods.list.parameters.orderBy.description - resources.regionTargetTcpProxies.methods.list.parameters.orderBy.location - resources.regionTargetTcpProxies.methods.list.parameters.orderBy.type - resources.regionTargetTcpProxies.methods.list.parameters.pageToken.description - resources.regionTargetTcpProxies.methods.list.parameters.pageToken.location - resources.regionTargetTcpProxies.methods.list.parameters.pageToken.type - resources.regionTargetTcpProxies.methods.list.parameters.project.description - resources.regionTargetTcpProxies.methods.list.parameters.project.location - resources.regionTargetTcpProxies.methods.list.parameters.project.pattern - resources.regionTargetTcpProxies.methods.list.parameters.project.required - resources.regionTargetTcpProxies.methods.list.parameters.project.type - resources.regionTargetTcpProxies.methods.list.parameters.region.description - resources.regionTargetTcpProxies.methods.list.parameters.region.location - resources.regionTargetTcpProxies.methods.list.parameters.region.pattern - resources.regionTargetTcpProxies.methods.list.parameters.region.required - resources.regionTargetTcpProxies.methods.list.parameters.region.type - resources.regionTargetTcpProxies.methods.list.parameters.returnPartialSuccess.description - resources.regionTargetTcpProxies.methods.list.parameters.returnPartialSuccess.location - resources.regionTargetTcpProxies.methods.list.parameters.returnPartialSuccess.type - resources.regionTargetTcpProxies.methods.list.path - resources.regionTargetTcpProxies.methods.list.response.$ref - resources.regionTargetTcpProxies.methods.list.scopes - resources.securityPolicies.methods.setLabels.description - resources.securityPolicies.methods.setLabels.flatPath - resources.securityPolicies.methods.setLabels.httpMethod - resources.securityPolicies.methods.setLabels.id - resources.securityPolicies.methods.setLabels.parameterOrder - resources.securityPolicies.methods.setLabels.parameters.project.description - resources.securityPolicies.methods.setLabels.parameters.project.location - resources.securityPolicies.methods.setLabels.parameters.project.pattern - resources.securityPolicies.methods.setLabels.parameters.project.required - resources.securityPolicies.methods.setLabels.parameters.project.type - resources.securityPolicies.methods.setLabels.parameters.resource.description - resources.securityPolicies.methods.setLabels.parameters.resource.location - resources.securityPolicies.methods.setLabels.parameters.resource.pattern - resources.securityPolicies.methods.setLabels.parameters.resource.required - resources.securityPolicies.methods.setLabels.parameters.resource.type - resources.securityPolicies.methods.setLabels.path - resources.securityPolicies.methods.setLabels.request.$ref - resources.securityPolicies.methods.setLabels.response.$ref - resources.securityPolicies.methods.setLabels.scopes - resources.sslPolicies.methods.aggregatedList.description - resources.sslPolicies.methods.aggregatedList.flatPath - resources.sslPolicies.methods.aggregatedList.httpMethod - resources.sslPolicies.methods.aggregatedList.id - resources.sslPolicies.methods.aggregatedList.parameterOrder - resources.sslPolicies.methods.aggregatedList.parameters.filter.description - resources.sslPolicies.methods.aggregatedList.parameters.filter.location - resources.sslPolicies.methods.aggregatedList.parameters.filter.type - resources.sslPolicies.methods.aggregatedList.parameters.includeAllScopes.description - resources.sslPolicies.methods.aggregatedList.parameters.includeAllScopes.location - resources.sslPolicies.methods.aggregatedList.parameters.includeAllScopes.type - resources.sslPolicies.methods.aggregatedList.parameters.maxResults.default - resources.sslPolicies.methods.aggregatedList.parameters.maxResults.description - resources.sslPolicies.methods.aggregatedList.parameters.maxResults.format - resources.sslPolicies.methods.aggregatedList.parameters.maxResults.location - resources.sslPolicies.methods.aggregatedList.parameters.maxResults.minimum - resources.sslPolicies.methods.aggregatedList.parameters.maxResults.type - resources.sslPolicies.methods.aggregatedList.parameters.orderBy.description - resources.sslPolicies.methods.aggregatedList.parameters.orderBy.location - resources.sslPolicies.methods.aggregatedList.parameters.orderBy.type - resources.sslPolicies.methods.aggregatedList.parameters.pageToken.description - resources.sslPolicies.methods.aggregatedList.parameters.pageToken.location - resources.sslPolicies.methods.aggregatedList.parameters.pageToken.type - resources.sslPolicies.methods.aggregatedList.parameters.project.description - resources.sslPolicies.methods.aggregatedList.parameters.project.location - resources.sslPolicies.methods.aggregatedList.parameters.project.pattern - resources.sslPolicies.methods.aggregatedList.parameters.project.required - resources.sslPolicies.methods.aggregatedList.parameters.project.type - resources.sslPolicies.methods.aggregatedList.parameters.returnPartialSuccess.description - resources.sslPolicies.methods.aggregatedList.parameters.returnPartialSuccess.location - resources.sslPolicies.methods.aggregatedList.parameters.returnPartialSuccess.type - resources.sslPolicies.methods.aggregatedList.path - resources.sslPolicies.methods.aggregatedList.response.$ref - resources.sslPolicies.methods.aggregatedList.scopes - resources.targetVpnGateways.methods.setLabels.description - resources.targetVpnGateways.methods.setLabels.flatPath - resources.targetVpnGateways.methods.setLabels.httpMethod - resources.targetVpnGateways.methods.setLabels.id - resources.targetVpnGateways.methods.setLabels.parameterOrder - resources.targetVpnGateways.methods.setLabels.parameters.project.description - resources.targetVpnGateways.methods.setLabels.parameters.project.location - resources.targetVpnGateways.methods.setLabels.parameters.project.pattern - resources.targetVpnGateways.methods.setLabels.parameters.project.required - resources.targetVpnGateways.methods.setLabels.parameters.project.type - resources.targetVpnGateways.methods.setLabels.parameters.region.description - resources.targetVpnGateways.methods.setLabels.parameters.region.location - resources.targetVpnGateways.methods.setLabels.parameters.region.pattern - resources.targetVpnGateways.methods.setLabels.parameters.region.required - resources.targetVpnGateways.methods.setLabels.parameters.region.type - resources.targetVpnGateways.methods.setLabels.parameters.requestId.description - resources.targetVpnGateways.methods.setLabels.parameters.requestId.location - resources.targetVpnGateways.methods.setLabels.parameters.requestId.type - resources.targetVpnGateways.methods.setLabels.parameters.resource.description - resources.targetVpnGateways.methods.setLabels.parameters.resource.location - resources.targetVpnGateways.methods.setLabels.parameters.resource.pattern - resources.targetVpnGateways.methods.setLabels.parameters.resource.required - resources.targetVpnGateways.methods.setLabels.parameters.resource.type - resources.targetVpnGateways.methods.setLabels.path - resources.targetVpnGateways.methods.setLabels.request.$ref - resources.targetVpnGateways.methods.setLabels.response.$ref - resources.targetVpnGateways.methods.setLabels.scopes - resources.vpnTunnels.methods.setLabels.description - resources.vpnTunnels.methods.setLabels.flatPath - resources.vpnTunnels.methods.setLabels.httpMethod - resources.vpnTunnels.methods.setLabels.id - resources.vpnTunnels.methods.setLabels.parameterOrder - resources.vpnTunnels.methods.setLabels.parameters.project.description - resources.vpnTunnels.methods.setLabels.parameters.project.location - resources.vpnTunnels.methods.setLabels.parameters.project.pattern - resources.vpnTunnels.methods.setLabels.parameters.project.required - resources.vpnTunnels.methods.setLabels.parameters.project.type - resources.vpnTunnels.methods.setLabels.parameters.region.description - resources.vpnTunnels.methods.setLabels.parameters.region.location - resources.vpnTunnels.methods.setLabels.parameters.region.pattern - resources.vpnTunnels.methods.setLabels.parameters.region.required - resources.vpnTunnels.methods.setLabels.parameters.region.type - resources.vpnTunnels.methods.setLabels.parameters.requestId.description - resources.vpnTunnels.methods.setLabels.parameters.requestId.location - resources.vpnTunnels.methods.setLabels.parameters.requestId.type - resources.vpnTunnels.methods.setLabels.parameters.resource.description - resources.vpnTunnels.methods.setLabels.parameters.resource.location - resources.vpnTunnels.methods.setLabels.parameters.resource.pattern - resources.vpnTunnels.methods.setLabels.parameters.resource.required - resources.vpnTunnels.methods.setLabels.parameters.resource.type - resources.vpnTunnels.methods.setLabels.path - resources.vpnTunnels.methods.setLabels.request.$ref - resources.vpnTunnels.methods.setLabels.response.$ref - resources.vpnTunnels.methods.setLabels.scopes - schemas.AdvancedMachineFeatures.properties.visibleCoreCount.description - schemas.AdvancedMachineFeatures.properties.visibleCoreCount.format - schemas.AdvancedMachineFeatures.properties.visibleCoreCount.type - schemas.AttachedDisk.properties.forceAttach.description - schemas.AttachedDisk.properties.forceAttach.type - schemas.BackendBucket.properties.compressionMode.description - schemas.BackendBucket.properties.compressionMode.enum - schemas.BackendBucket.properties.compressionMode.enumDescriptions - schemas.BackendBucket.properties.compressionMode.type - schemas.BackendService.properties.compressionMode.description - schemas.BackendService.properties.compressionMode.enum - schemas.BackendService.properties.compressionMode.enumDescriptions - schemas.BackendService.properties.compressionMode.type - schemas.Commitment.properties.mergeSourceCommitments.description - schemas.Commitment.properties.mergeSourceCommitments.items.type - schemas.Commitment.properties.mergeSourceCommitments.type - schemas.Commitment.properties.splitSourceCommitment.description - schemas.Commitment.properties.splitSourceCommitment.type - schemas.SslPoliciesAggregatedList.id - schemas.SslPoliciesAggregatedList.properties.etag.type - schemas.SslPoliciesAggregatedList.properties.id.description - schemas.SslPoliciesAggregatedList.properties.id.type - schemas.SslPoliciesAggregatedList.properties.items.additionalProperties.$ref - schemas.SslPoliciesAggregatedList.properties.items.additionalProperties.description - schemas.SslPoliciesAggregatedList.properties.items.description - schemas.SslPoliciesAggregatedList.properties.items.type - schemas.SslPoliciesAggregatedList.properties.kind.default - schemas.SslPoliciesAggregatedList.properties.kind.description - schemas.SslPoliciesAggregatedList.properties.kind.type - schemas.SslPoliciesAggregatedList.properties.nextPageToken.description - schemas.SslPoliciesAggregatedList.properties.nextPageToken.type - schemas.SslPoliciesAggregatedList.properties.selfLink.description - schemas.SslPoliciesAggregatedList.properties.selfLink.type - schemas.SslPoliciesAggregatedList.properties.unreachables.description - schemas.SslPoliciesAggregatedList.properties.unreachables.items.type - schemas.SslPoliciesAggregatedList.properties.unreachables.type - schemas.SslPoliciesAggregatedList.properties.warning.description - schemas.SslPoliciesAggregatedList.properties.warning.properties.code.description - schemas.SslPoliciesAggregatedList.properties.warning.properties.code.enum - schemas.SslPoliciesAggregatedList.properties.warning.properties.code.enumDescriptions - schemas.SslPoliciesAggregatedList.properties.warning.properties.code.type - schemas.SslPoliciesAggregatedList.properties.warning.properties.data.description - schemas.SslPoliciesAggregatedList.properties.warning.properties.data.items.properties.key.description - schemas.SslPoliciesAggregatedList.properties.warning.properties.data.items.properties.key.type - schemas.SslPoliciesAggregatedList.properties.warning.properties.data.items.properties.value.description - schemas.SslPoliciesAggregatedList.properties.warning.properties.data.items.properties.value.type - schemas.SslPoliciesAggregatedList.properties.warning.properties.data.items.type - schemas.SslPoliciesAggregatedList.properties.warning.properties.data.type - schemas.SslPoliciesAggregatedList.properties.warning.properties.message.description - schemas.SslPoliciesAggregatedList.properties.warning.properties.message.type - schemas.SslPoliciesAggregatedList.properties.warning.type - schemas.SslPoliciesAggregatedList.type - schemas.SslPoliciesScopedList.id - schemas.SslPoliciesScopedList.properties.sslPolicies.description - schemas.SslPoliciesScopedList.properties.sslPolicies.items.$ref - schemas.SslPoliciesScopedList.properties.sslPolicies.type - schemas.SslPoliciesScopedList.properties.warning.description - schemas.SslPoliciesScopedList.properties.warning.properties.code.description - schemas.SslPoliciesScopedList.properties.warning.properties.code.enum - schemas.SslPoliciesScopedList.properties.warning.properties.code.enumDescriptions - schemas.SslPoliciesScopedList.properties.warning.properties.code.type - schemas.SslPoliciesScopedList.properties.warning.properties.data.description - schemas.SslPoliciesScopedList.properties.warning.properties.data.items.properties.key.description - schemas.SslPoliciesScopedList.properties.warning.properties.data.items.properties.key.type - schemas.SslPoliciesScopedList.properties.warning.properties.data.items.properties.value.description - schemas.SslPoliciesScopedList.properties.warning.properties.data.items.properties.value.type - schemas.SslPoliciesScopedList.properties.warning.properties.data.items.type - schemas.SslPoliciesScopedList.properties.warning.properties.data.type - schemas.SslPoliciesScopedList.properties.warning.properties.message.description - schemas.SslPoliciesScopedList.properties.warning.properties.message.type - schemas.SslPoliciesScopedList.properties.warning.type - schemas.SslPoliciesScopedList.type - schemas.TargetTcpProxy.properties.region.description - schemas.TargetTcpProxy.properties.region.type The following keys were changed: - schemas.Address.properties.purpose.description - schemas.Address.properties.purpose.enumDescriptions - schemas.AttachedDisk.properties.interface.description - schemas.BackendServiceLogConfig.properties.enable.description - schemas.BackendServiceLogConfig.properties.sampleRate.description - schemas.Binding.properties.members.description - schemas.Firewall.properties.direction.description - schemas.FirewallPolicy.properties.displayName.description - schemas.FirewallPolicy.properties.name.description - schemas.FirewallPolicy.properties.parent.description - schemas.FirewallPolicy.properties.shortName.description - schemas.HttpRouteRule.properties.routeAction.description - schemas.InterconnectAttachment.properties.encryption.description - schemas.InterconnectAttachment.properties.encryption.enumDescriptions - schemas.LocalizedMessage.properties.locale.description - schemas.Network.properties.mtu.description - schemas.PathMatcher.properties.defaultRouteAction.description - schemas.PathRule.properties.routeAction.description - schemas.Router.properties.encryptedInterconnectRouter.description - schemas.UrlMap.properties.defaultRouteAction.description - schemas.VpnGatewayVpnGatewayInterface.properties.interconnectAttachment.description - schemas.VpnGatewayVpnGatewayInterface.properties.ipAddress.description --- discovery/compute-alpha.json | 1191 ++++++++- discovery/compute-beta.json | 61 +- discovery/compute-v1.json | 1068 +++++++- src/apis/compute/alpha.ts | 2880 ++++++++++++++++++++-- src/apis/compute/beta.ts | 59 +- src/apis/compute/package.json | 2 +- src/apis/compute/v1.ts | 4384 +++++++++++++++++++++++++++------ 7 files changed, 8648 insertions(+), 997 deletions(-) diff --git a/discovery/compute-alpha.json b/discovery/compute-alpha.json index ab19e01142..c029c9f137 100644 --- a/discovery/compute-alpha.json +++ b/discovery/compute-alpha.json @@ -15750,6 +15750,405 @@ } } }, + "networkAttachments": { + "methods": { + "aggregatedList": { + "description": "Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/networkAttachments", + "httpMethod": "GET", + "id": "compute.networkAttachments.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/aggregated/networkAttachments", + "response": { + "$ref": "NetworkAttachmentAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "delete": { + "description": "Deletes the specified NetworkAttachment in the given scope", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "httpMethod": "DELETE", + "id": "compute.networkAttachments.delete", + "parameterOrder": [ + "project", + "region", + "networkAttachment" + ], + "parameters": { + "networkAttachment": { + "description": "Name of the NetworkAttachment resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified NetworkAttachment resource in the given scope.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "httpMethod": "GET", + "id": "compute.networkAttachments.get", + "parameterOrder": [ + "project", + "region", + "networkAttachment" + ], + "parameters": { + "networkAttachment": { + "description": "Name of the NetworkAttachment resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "response": { + "$ref": "NetworkAttachment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.networkAttachments.getIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments", + "httpMethod": "POST", + "id": "compute.networkAttachments.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkAttachments", + "request": { + "$ref": "NetworkAttachment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the NetworkAttachments for a project in the given scope.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments", + "httpMethod": "GET", + "id": "compute.networkAttachments.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/networkAttachments", + "response": { + "$ref": "NetworkAttachmentList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.networkAttachments.setIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.networkAttachments.testIamPermissions", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "networkEdgeSecurityServices": { "methods": { "aggregatedList": { @@ -27931,6 +28330,56 @@ }, "regionSecurityPolicies": { "methods": { + "addRule": { + "description": "Inserts a rule into a security policy.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", + "httpMethod": "POST", + "id": "compute.regionSecurityPolicies.addRule", + "parameterOrder": [ + "project", + "region", + "securityPolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", + "request": { + "$ref": "SecurityPolicyRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "delete": { "description": "Deletes the specified policy.", "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", @@ -28021,6 +28470,55 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getRule": { + "description": "Gets a rule at the specified priority.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", + "httpMethod": "GET", + "id": "compute.regionSecurityPolicies.getRule", + "parameterOrder": [ + "project", + "region", + "securityPolicy" + ], + "parameters": { + "priority": { + "description": "The priority of the rule to get from the security policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to which the queried rule belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", + "response": { + "$ref": "SecurityPolicyRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { "description": "Creates a new policy in the specified project using the data included in the request.", "flatPath": "projects/{project}/regions/{region}/securityPolicies", @@ -28142,6 +28640,11 @@ "securityPolicy" ], "parameters": { + "paths": { + "location": "query", + "repeated": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -28167,6 +28670,12 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "updateMask": { + "description": "Indicates fields to be cleared as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", @@ -28180,6 +28689,110 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "patchRule": { + "description": "Patches a rule at the specified priority.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", + "httpMethod": "POST", + "id": "compute.regionSecurityPolicies.patchRule", + "parameterOrder": [ + "project", + "region", + "securityPolicy" + ], + "parameters": { + "priority": { + "description": "The priority of the rule to patch.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", + "request": { + "$ref": "SecurityPolicyRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "removeRule": { + "description": "Deletes a rule at the specified priority.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", + "httpMethod": "POST", + "id": "compute.regionSecurityPolicies.removeRule", + "parameterOrder": [ + "project", + "region", + "securityPolicy" + ], + "parameters": { + "priority": { + "description": "The priority of the rule to remove from the security policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -32314,6 +32927,11 @@ "securityPolicy" ], "parameters": { + "paths": { + "location": "query", + "repeated": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32332,6 +32950,12 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "updateMask": { + "description": "Indicates fields to be cleared as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, "path": "projects/{project}/global/securityPolicies/{securityPolicy}", @@ -39308,7 +39932,7 @@ } } }, - "revision": "20220809", + "revision": "20220831", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -39919,7 +40543,7 @@ "type": "integer" }, "purpose": { - "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", + "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", "enum": [ "DNS_RESOLVER", "GCE_ENDPOINT", @@ -39933,7 +40557,7 @@ "enumDescriptions": [ "DNS resolver address in the subnetwork.", "VM internal/alias IP, Internal LB service IP, etc.", - "A regional internal IP address range reserved for the VLAN attachment that is used in IPsec-encrypted Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", + "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", "External IP automatically reserved for Cloud NAT.", "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", "A regional internal IP address range reserved for Serverless.", @@ -40561,7 +41185,7 @@ "description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." }, "interface": { - "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", + "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.", "enum": [ "NVDIMM", "NVME", @@ -42884,11 +43508,34 @@ "id": "BackendServiceLogConfig", "properties": { "enable": { - "description": "This field denotes whether to enable logging for the load balancer traffic served by this backend service.", + "description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", "type": "boolean" }, + "optional": { + "description": "This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", + "enum": [ + "CUSTOM", + "EXCLUDE_ALL_OPTIONAL", + "INCLUDE_ALL_OPTIONAL", + "UNSPECIFIED_OPTIONAL_MODE" + ], + "enumDescriptions": [ + "A subset of optional fields.", + "None optional fields.", + "All optional fields.", + "" + ], + "type": "string" + }, + "optionalFields": { + "description": "This field can only be specified if logging is enabled for this backend service and \"logConfig.optional\" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace", + "items": { + "type": "string" + }, + "type": "array" + }, "sampleRate": { - "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 0.0.", + "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", "format": "float", "type": "number" } @@ -43282,7 +43929,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -46211,7 +46858,7 @@ "type": "array" }, "direction": { - "description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify the destinationRanges field, and for `EGRESS` traffic, you cannot specify the sourceRanges or sourceTags fields.", + "description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields.", "enum": [ "EGRESS", "INGRESS" @@ -46491,7 +47138,7 @@ "type": "string" }, "displayName": { - "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, @@ -46511,11 +47158,11 @@ "type": "string" }, "name": { - "description": "[Output Only] Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy.", + "description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by GCP which uniquely identifies the Organization Firewall Policy.", "type": "string" }, "parent": { - "description": "[Output Only] The parent of the firewall policy.", + "description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", "type": "string" }, "region": { @@ -46543,7 +47190,7 @@ "type": "string" }, "shortName": { - "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, @@ -50179,7 +50826,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a route rule's routeAction." + "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -51833,6 +52480,11 @@ "format": "int32", "type": "integer" }, + "queuing": { + "description": "[Output Only] The number of instances that the managed instance group is currently queuing.", + "format": "int32", + "type": "integer" + }, "recreating": { "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.", "format": "int32", @@ -53689,6 +54341,7 @@ "CREATING_WITHOUT_RETRIES", "DELETING", "NONE", + "QUEUING", "RECREATING", "REFRESHING", "RESTARTING", @@ -53705,6 +54358,7 @@ "The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", "The managed instance group is permanently deleting this instance.", "The managed instance group has not scheduled any actions for this instance.", + "The managed instance group is queuing this instance.", "The managed instance group is recreating this instance.", "The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", "The managed instance group is restarting this instance.", @@ -55345,13 +55999,13 @@ "type": "string" }, "encryption": { - "description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN attachment must be created with this option. Not currently available publicly. ", + "description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. ", "enum": [ "IPSEC", "NONE" ], "enumDescriptions": [ - "The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use IPsec-encrypted Cloud Interconnect, the interconnect attachment must be created with this option.", + "The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.", "This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment." ], "type": "string" @@ -57685,7 +58339,7 @@ "id": "LocalizedMessage", "properties": { "locale": { - "description": "The locale used following the specification defined at http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", "type": "string" }, "message": { @@ -58558,6 +59212,7 @@ "CREATING_WITHOUT_RETRIES", "DELETING", "NONE", + "QUEUING", "RECREATING", "REFRESHING", "RESTARTING", @@ -58574,6 +59229,7 @@ "The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", "The managed instance group is permanently deleting this instance.", "The managed instance group has not scheduled any actions for this instance.", + "The managed instance group is queuing this instance.", "The managed instance group is recreating this instance.", "The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", "The managed instance group is restarting this instance.", @@ -58637,6 +59293,10 @@ "$ref": "ManagedInstanceLastAttempt", "description": "[Output Only] Information about the last attempt to create or delete the instance." }, + "name": { + "description": "[Output Only] The name of the instance. The name will always exist even if the instance has not yet been created.", + "type": "string" + }, "preservedStateFromConfig": { "$ref": "PreservedState", "description": "[Output Only] Preserved state applied from per-instance config for this instance." @@ -58984,7 +59644,7 @@ "type": "string" }, "mtu": { - "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460.", + "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460.", "format": "int32", "type": "integer" }, @@ -59043,6 +59703,489 @@ }, "type": "object" }, + "NetworkAttachment": { + "description": "NetworkAttachments A network attachment resource ...", + "id": "NetworkAttachment", + "properties": { + "connectionEndpoints": { + "description": "[Output Only] An array of connections for all the producers connected to this network attachment.", + "items": { + "$ref": "NetworkAttachmentConnectedEndpoint" + }, + "type": "array" + }, + "connectionPreference": { + "enum": [ + "ACCEPT_AUTOMATIC", + "ACCEPT_MANUAL", + "INVALID" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "fingerprint": { + "description": "[Output Only] Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#networkAttachment", + "description": "[Output Only] Type of the resource.", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.networkAttachments.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "network": { + "description": "[Output Only] The URL of the network which the Network Attachment belongs to.", + "type": "string" + }, + "producerAcceptLists": { + "description": "Projects that are allowed to connect to this network attachment. The project can be specified using its id or number.", + "items": { + "type": "string" + }, + "type": "array" + }, + "producerRejectLists": { + "description": "Projects that are not allowed to connect to this network attachment. The project can be specified using its id or number.", + "items": { + "type": "string" + }, + "type": "array" + }, + "region": { + "description": "[Output Only] URL of the region where the network attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource's resource id.", + "type": "string" + }, + "subnetworks": { + "description": "An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "NetworkAttachmentAggregatedList": { + "description": "Contains a list of NetworkAttachmentsScopedList.", + "id": "NetworkAttachmentAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "NetworkAttachmentsScopedList", + "description": "Name of the scope containing this set of NetworkAttachments." + }, + "description": "A list of NetworkAttachmentsScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#networkAttachmentAggregatedList", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NetworkAttachmentConnectedEndpoint": { + "description": "[Output Only] A connection connected to this network attachment.", + "id": "NetworkAttachmentConnectedEndpoint", + "properties": { + "ipAddress": { + "description": "The IP address assigned to the producer instance network interface. This value will be a range in case of Serverless.", + "type": "string" + }, + "projectIdOrNum": { + "description": "The project id or number of the interface to which the IP was assigned.", + "type": "string" + }, + "secondaryIpCidrRanges": { + "description": "Alias IP ranges from the same subnetwork", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "The status of a connected endpoint to this network attachment.", + "enum": [ + "ACCEPTED", + "CLOSED", + "NEEDS_ATTENTION", + "PENDING", + "REJECTED", + "STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The consumer allows traffic from the producer to reach its VPC.", + "The consumer network attachment no longer exists.", + "The consumer needs to take further action before traffic can be served.", + "The consumer neither allows nor prohibits traffic from the producer to reach its VPC.", + "The consumer prohibits traffic from the producer to reach its VPC.", + "" + ], + "type": "string" + }, + "subnetwork": { + "description": "The subnetwork used to assign the IP to the producer instance network interface.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkAttachmentList": { + "id": "NetworkAttachmentList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of NetworkAttachment resources.", + "items": { + "$ref": "NetworkAttachment" + }, + "type": "array" + }, + "kind": { + "default": "compute#networkAttachmentList", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NetworkAttachmentsScopedList": { + "id": "NetworkAttachmentsScopedList", + "properties": { + "networkAttachments": { + "description": "A list of NetworkAttachments contained in this scope.", + "items": { + "$ref": "NetworkAttachment" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning which replaces the list of network attachments when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "NetworkEdgeSecurityService": { "description": "Represents a Google Cloud Armor network edge security service resource.", "id": "NetworkEdgeSecurityService", @@ -64073,7 +65216,7 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", @@ -64129,7 +65272,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only the urlRewrite action within a path rule's routeAction." + "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -69423,7 +70566,7 @@ "type": "string" }, "encryptedInterconnectRouter": { - "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. ", + "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).", "type": "boolean" }, "id": { @@ -78651,7 +79794,7 @@ "type": "object" }, "UpcomingMaintenance": { - "description": "Upcoming Maintenance notification information. TODO(b/196881882) Deprecate this proto once it's fully migrated to be under proto ResourceStatus.UpcomingMaintenance.", + "description": "Upcoming Maintenance notification information. TODO(b/242069500) Deprecate this proto once it's fully migrated to be under proto ResourceStatus.UpcomingMaintenance.", "id": "UpcomingMaintenance", "properties": { "canReschedule": { @@ -78714,7 +79857,7 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "defaultService": { "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", @@ -80176,11 +81319,11 @@ "type": "integer" }, "interconnectAttachment": { - "description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. ", + "description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource.", "type": "string" }, "ipAddress": { - "description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", + "description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", "type": "string" } }, diff --git a/discovery/compute-beta.json b/discovery/compute-beta.json index 982268a630..bc4f1113cf 100644 --- a/discovery/compute-beta.json +++ b/discovery/compute-beta.json @@ -35452,7 +35452,7 @@ } } }, - "revision": "20220809", + "revision": "20220831", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -36035,7 +36035,7 @@ "type": "integer" }, "purpose": { - "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", + "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", "enum": [ "DNS_RESOLVER", "GCE_ENDPOINT", @@ -36049,7 +36049,7 @@ "enumDescriptions": [ "DNS resolver address in the subnetwork.", "VM internal/alias IP, Internal LB service IP, etc.", - "A regional internal IP address range reserved for the VLAN attachment that is used in IPsec-encrypted Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", + "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", "External IP automatically reserved for Cloud NAT.", "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", "A regional internal IP address range reserved for Serverless.", @@ -36619,6 +36619,10 @@ "format": "int64", "type": "string" }, + "forceAttach": { + "description": "[Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", + "type": "boolean" + }, "guestOsFeatures": { "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", "items": { @@ -36636,7 +36640,7 @@ "description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." }, "interface": { - "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", + "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.", "enum": [ "NVME", "SCSI" @@ -38800,11 +38804,11 @@ "id": "BackendServiceLogConfig", "properties": { "enable": { - "description": "This field denotes whether to enable logging for the load balancer traffic served by this backend service.", + "description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", "type": "boolean" }, "sampleRate": { - "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 0.0.", + "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", "format": "float", "type": "number" } @@ -39178,7 +39182,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -39386,6 +39390,13 @@ "$ref": "LicenseResourceCommitment", "description": "The license specification required as part of a license commitment." }, + "mergeSourceCommitments": { + "description": "List of source commitments to be merged into a new commitment.", + "items": { + "type": "string" + }, + "type": "array" + }, "name": { "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", @@ -39427,6 +39438,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "splitSourceCommitment": { + "description": "Source commitment to be splitted into a new commitment.", + "type": "string" + }, "startTimestamp": { "description": "[Output Only] Commitment start time in RFC3339 text format.", "type": "string" @@ -41804,7 +41819,7 @@ "type": "array" }, "direction": { - "description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify the destinationRanges field, and for `EGRESS` traffic, you cannot specify the sourceRanges or sourceTags fields.", + "description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields.", "enum": [ "EGRESS", "INGRESS" @@ -42080,7 +42095,7 @@ "type": "string" }, "displayName": { - "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, @@ -42100,11 +42115,11 @@ "type": "string" }, "name": { - "description": "[Output Only] Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy.", + "description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by GCP which uniquely identifies the Organization Firewall Policy.", "type": "string" }, "parent": { - "description": "[Output Only] The parent of the firewall policy.", + "description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", "type": "string" }, "region": { @@ -42132,7 +42147,7 @@ "type": "string" }, "shortName": { - "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" } @@ -44838,7 +44853,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a route rule's routeAction." + "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -49018,13 +49033,13 @@ "type": "string" }, "encryption": { - "description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN attachment must be created with this option. Not currently available publicly. ", + "description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. ", "enum": [ "IPSEC", "NONE" ], "enumDescriptions": [ - "The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use IPsec-encrypted Cloud Interconnect, the interconnect attachment must be created with this option.", + "The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.", "This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment." ], "type": "string" @@ -50483,7 +50498,7 @@ "id": "LocalizedMessage", "properties": { "locale": { - "description": "The locale used following the specification defined at http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", "type": "string" }, "message": { @@ -51681,7 +51696,7 @@ "type": "string" }, "mtu": { - "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460.", + "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460.", "format": "int32", "type": "integer" }, @@ -56396,7 +56411,7 @@ "properties": { "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", @@ -56448,7 +56463,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only the urlRewrite action within a path rule's routeAction." + "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -60858,7 +60873,7 @@ "type": "string" }, "encryptedInterconnectRouter": { - "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. ", + "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).", "type": "boolean" }, "id": { @@ -69550,7 +69565,7 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "defaultService": { "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", @@ -70995,11 +71010,11 @@ "type": "integer" }, "interconnectAttachment": { - "description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. ", + "description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource.", "type": "string" }, "ipAddress": { - "description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", + "description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", "type": "string" } }, diff --git a/discovery/compute-v1.json b/discovery/compute-v1.json index 79cca31870..c55ffbb45d 100644 --- a/discovery/compute-v1.json +++ b/discovery/compute-v1.json @@ -549,6 +549,56 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "setLabels": { + "description": "Sets the labels on an Address. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/addresses/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.addresses.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/addresses/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -1544,6 +1594,47 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/global/backendServices/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.backendServices.getIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/backendServices/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { "description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview .", "flatPath": "projects/{project}/global/backendServices", @@ -1716,6 +1807,43 @@ "https://www.googleapis.com/auth/compute" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/backendServices/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.backendServices.setIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/backendServices/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setSecurityPolicy": { "description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", "flatPath": "projects/{project}/global/backendServices/{backendService}/setSecurityPolicy", @@ -4307,6 +4435,43 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "setLabels": { + "description": "Sets the labels on a GlobalAddress. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/global/addresses/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.globalAddresses.setLabels", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/addresses/{resource}/setLabels", + "request": { + "$ref": "GlobalSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -11176,6 +11341,56 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "setLabels": { + "description": "Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.interconnectAttachments.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -11514,6 +11729,43 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "setLabels": { + "description": "Sets the labels on an Interconnect. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/global/interconnects/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.interconnects.setLabels", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnects/{resource}/setLabels", + "request": { + "$ref": "GlobalSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -17273,6 +17525,55 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.regionBackendServices.getIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { "description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", "flatPath": "projects/{project}/regions/{region}/backendServices", @@ -17428,6 +17729,51 @@ "https://www.googleapis.com/auth/compute" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionBackendServices.setIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "update": { "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview .", "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", @@ -23048,6 +23394,205 @@ } } }, + "regionTargetTcpProxies": { + "methods": { + "delete": { + "description": "Deletes the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", + "httpMethod": "DELETE", + "id": "compute.regionTargetTcpProxies.delete", + "parameterOrder": [ + "project", + "region", + "targetTcpProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetTcpProxy": { + "description": "Name of the TargetTcpProxy resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", + "httpMethod": "GET", + "id": "compute.regionTargetTcpProxies.get", + "parameterOrder": [ + "project", + "region", + "targetTcpProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "targetTcpProxy": { + "description": "Name of the TargetTcpProxy resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", + "response": { + "$ref": "TargetTcpProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a TargetTcpProxy resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies", + "httpMethod": "POST", + "id": "compute.regionTargetTcpProxies.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetTcpProxies", + "request": { + "$ref": "TargetTcpProxy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves a list of TargetTcpProxy resources available to the specified project in a given region.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies", + "httpMethod": "GET", + "id": "compute.regionTargetTcpProxies.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/targetTcpProxies", + "response": { + "$ref": "TargetTcpProxyList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "regionUrlMaps": { "methods": { "delete": { @@ -25578,6 +26123,43 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "setLabels": { + "description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/global/securityPolicies/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.securityPolicies.setLabels", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/securityPolicies/{resource}/setLabels", + "request": { + "$ref": "GlobalSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -26577,6 +27159,66 @@ }, "sslPolicies": { "methods": { + "aggregatedList": { + "description": "Retrieves the list of all SslPolicy resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/sslPolicies", + "httpMethod": "GET", + "id": "compute.sslPolicies.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Name of the project scoping this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/aggregated/sslPolicies", + "response": { + "$ref": "SslPoliciesAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "delete": { "description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", "flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", @@ -30144,6 +30786,56 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "setLabels": { + "description": "Sets the labels on a TargetVpnGateway. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.targetVpnGateways.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -31191,6 +31883,56 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "setLabels": { + "description": "Sets the labels on a VpnTunnel. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.vpnTunnels.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "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])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -31481,7 +32223,7 @@ } } }, - "revision": "20220809", + "revision": "20220831", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -32052,7 +32794,7 @@ "type": "integer" }, "purpose": { - "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", + "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", "enum": [ "DNS_RESOLVER", "GCE_ENDPOINT", @@ -32066,7 +32808,7 @@ "enumDescriptions": [ "DNS resolver address in the subnetwork.", "VM internal/alias IP, Internal LB service IP, etc.", - "A regional internal IP address range reserved for the VLAN attachment that is used in IPsec-encrypted Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", + "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", "External IP automatically reserved for Cloud NAT.", "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", "A regional internal IP address range reserved for Serverless.", @@ -32476,6 +33218,11 @@ "description": "The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", "format": "int32", "type": "integer" + }, + "visibleCoreCount": { + "description": "The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -32616,6 +33363,10 @@ "format": "int64", "type": "string" }, + "forceAttach": { + "description": "[Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", + "type": "boolean" + }, "guestOsFeatures": { "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", "items": { @@ -32633,7 +33384,7 @@ "description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." }, "interface": { - "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", + "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.", "enum": [ "NVME", "SCSI" @@ -33645,6 +34396,18 @@ "$ref": "BackendBucketCdnPolicy", "description": "Cloud CDN configuration for this BackendBucket." }, + "compressionMode": { + "description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", + "enum": [ + "AUTOMATIC", + "DISABLED" + ], + "enumDescriptions": [ + "Automatically uses the best compression based on the Accept-Encoding header sent by the client.", + "Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." + ], + "type": "string" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -33963,6 +34726,18 @@ "circuitBreakers": { "$ref": "CircuitBreakers" }, + "compressionMode": { + "description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", + "enum": [ + "AUTOMATIC", + "DISABLED" + ], + "enumDescriptions": [ + "Automatically uses the best compression based on the Accept-Encoding header sent by the client.", + "Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." + ], + "type": "string" + }, "connectionDraining": { "$ref": "ConnectionDraining" }, @@ -34726,11 +35501,11 @@ "id": "BackendServiceLogConfig", "properties": { "enable": { - "description": "This field denotes whether to enable logging for the load balancer traffic served by this backend service.", + "description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", "type": "boolean" }, "sampleRate": { - "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 0.0.", + "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", "format": "float", "type": "number" } @@ -35104,7 +35879,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -35308,6 +36083,13 @@ "$ref": "LicenseResourceCommitment", "description": "The license specification required as part of a license commitment." }, + "mergeSourceCommitments": { + "description": "List of source commitments to be merged into a new commitment.", + "items": { + "type": "string" + }, + "type": "array" + }, "name": { "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", @@ -35349,6 +36131,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "splitSourceCommitment": { + "description": "Source commitment to be splitted into a new commitment.", + "type": "string" + }, "startTimestamp": { "description": "[Output Only] Commitment start time in RFC3339 text format.", "type": "string" @@ -37676,7 +38462,7 @@ "type": "array" }, "direction": { - "description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify the destinationRanges field, and for `EGRESS` traffic, you cannot specify the sourceRanges or sourceTags fields.", + "description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields.", "enum": [ "EGRESS", "INGRESS" @@ -37948,7 +38734,7 @@ "type": "string" }, "displayName": { - "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, @@ -37968,11 +38754,11 @@ "type": "string" }, "name": { - "description": "[Output Only] Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy.", + "description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by GCP which uniquely identifies the Organization Firewall Policy.", "type": "string" }, "parent": { - "description": "[Output Only] The parent of the firewall policy.", + "description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", "type": "string" }, "region": { @@ -38000,7 +38786,7 @@ "type": "string" }, "shortName": { - "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" } @@ -40612,7 +41398,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a route rule's routeAction." + "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -44543,13 +45329,13 @@ "type": "string" }, "encryption": { - "description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN attachment must be created with this option. Not currently available publicly. ", + "description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. ", "enum": [ "IPSEC", "NONE" ], "enumDescriptions": [ - "The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use IPsec-encrypted Cloud Interconnect, the interconnect attachment must be created with this option.", + "The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.", "This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment." ], "type": "string" @@ -45996,7 +46782,7 @@ "id": "LocalizedMessage", "properties": { "locale": { - "description": "The locale used following the specification defined at http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", "type": "string" }, "message": { @@ -47199,7 +47985,7 @@ "type": "string" }, "mtu": { - "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460.", + "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460.", "format": "int32", "type": "integer" }, @@ -51760,7 +52546,7 @@ "properties": { "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", @@ -51812,7 +52598,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only the urlRewrite action within a path rule's routeAction." + "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -56099,7 +56885,7 @@ "type": "string" }, "encryptedInterconnectRouter": { - "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. ", + "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).", "type": "boolean" }, "id": { @@ -60059,6 +60845,136 @@ }, "type": "object" }, + "SslPoliciesAggregatedList": { + "id": "SslPoliciesAggregatedList", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "SslPoliciesScopedList", + "description": "Name of the scope containing this set of SSL policies." + }, + "description": "A list of SslPoliciesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#sslPoliciesAggregatedList", + "description": "[Output Only] Type of resource. Always compute#sslPolicyAggregatedList for lists of SSL Policies.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "SslPoliciesList": { "id": "SslPoliciesList", "properties": { @@ -60190,6 +61106,108 @@ }, "type": "object" }, + "SslPoliciesScopedList": { + "id": "SslPoliciesScopedList", + "properties": { + "sslPolicies": { + "description": "A list of SslPolicies contained in this scope.", + "items": { + "$ref": "SslPolicy" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning which replaces the list of SSL policies when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "SslPolicy": { "description": "Represents an SSL Policy resource. Use SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts.", "id": "SslPolicy", @@ -63307,6 +64325,10 @@ ], "type": "string" }, + "region": { + "description": "[Output Only] URL of the region where the regional TCP proxy resides. This field is not applicable to global TCP proxy.", + "type": "string" + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -63966,7 +64988,7 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "defaultService": { "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", @@ -65411,11 +66433,11 @@ "type": "integer" }, "interconnectAttachment": { - "description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. ", + "description": "URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource.", "type": "string" }, "ipAddress": { - "description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", + "description": "[Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", "type": "string" } }, diff --git a/src/apis/compute/alpha.ts b/src/apis/compute/alpha.ts index 5813b43bbe..05d2d087c7 100644 --- a/src/apis/compute/alpha.ts +++ b/src/apis/compute/alpha.ts @@ -153,6 +153,7 @@ export namespace compute_alpha { licenses: Resource$Licenses; machineImages: Resource$Machineimages; machineTypes: Resource$Machinetypes; + networkAttachments: Resource$Networkattachments; networkEdgeSecurityServices: Resource$Networkedgesecurityservices; networkEndpointGroups: Resource$Networkendpointgroups; networkFirewallPolicies: Resource$Networkfirewallpolicies; @@ -270,6 +271,7 @@ export namespace compute_alpha { this.licenses = new Resource$Licenses(this.context); this.machineImages = new Resource$Machineimages(this.context); this.machineTypes = new Resource$Machinetypes(this.context); + this.networkAttachments = new Resource$Networkattachments(this.context); this.networkEdgeSecurityServices = new Resource$Networkedgesecurityservices(this.context); this.networkEndpointGroups = new Resource$Networkendpointgroups( @@ -616,7 +618,7 @@ export namespace compute_alpha { */ prefixLength?: number | null; /** - * The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. + * The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. */ purpose?: string | null; /** @@ -894,7 +896,7 @@ export namespace compute_alpha { */ initializeParams?: Schema$AttachedDiskInitializeParams; /** - * Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. + * Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks. */ interface?: string | null; /** @@ -2066,11 +2068,19 @@ export namespace compute_alpha { */ export interface Schema$BackendServiceLogConfig { /** - * This field denotes whether to enable logging for the load balancer traffic served by this backend service. + * Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false. */ enable?: boolean | null; /** - * This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 0.0. + * This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL. + */ + optional?: string | null; + /** + * This field can only be specified if logging is enabled for this backend service and "logConfig.optional" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace + */ + optionalFields?: string[] | null; + /** + * This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0. */ sampleRate?: number | null; } @@ -2249,7 +2259,7 @@ export namespace compute_alpha { */ condition?: Schema$Expr; /** - * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. */ members?: string[] | null; /** @@ -3593,7 +3603,7 @@ export namespace compute_alpha { */ destinationRanges?: string[] | null; /** - * Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify the destinationRanges field, and for `EGRESS` traffic, you cannot specify the sourceRanges or sourceTags fields. + * Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields. */ direction?: string | null; /** @@ -3730,7 +3740,7 @@ export namespace compute_alpha { */ description?: string | null; /** - * Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ displayName?: string | null; /** @@ -3746,11 +3756,11 @@ export namespace compute_alpha { */ kind?: string | null; /** - * [Output Only] Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy. + * Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by GCP which uniquely identifies the Organization Firewall Policy. */ name?: string | null; /** - * [Output Only] The parent of the firewall policy. + * [Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies. */ parent?: string | null; /** @@ -3774,7 +3784,7 @@ export namespace compute_alpha { */ selfLinkWithId?: string | null; /** - * User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ shortName?: string | null; /** @@ -5409,7 +5419,7 @@ export namespace compute_alpha { */ priority?: number | null; /** - * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a route rule's routeAction. + * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** @@ -6344,6 +6354,10 @@ export namespace compute_alpha { * [Output Only] The number of instances in the managed instance group that are running and have no scheduled actions. */ none?: number | null; + /** + * [Output Only] The number of instances that the managed instance group is currently queuing. + */ + queuing?: number | null; /** * [Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template. */ @@ -7838,7 +7852,7 @@ export namespace compute_alpha { */ edgeAvailabilityDomain?: string | null; /** - * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN attachment must be created with this option. Not currently available publicly. + * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. */ encryption?: string | null; /** @@ -8903,7 +8917,7 @@ export namespace compute_alpha { */ export interface Schema$LocalizedMessage { /** - * The locale used following the specification defined at http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" + * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" */ locale?: string | null; /** @@ -9311,6 +9325,10 @@ export namespace compute_alpha { * [Output Only] Information about the last attempt to create or delete the instance. */ lastAttempt?: Schema$ManagedInstanceLastAttempt; + /** + * [Output Only] The name of the instance. The name will always exist even if the instance has not yet been created. + */ + name?: string | null; /** * [Output Only] Preserved state applied from per-instance config for this instance. */ @@ -9503,7 +9521,7 @@ export namespace compute_alpha { */ kind?: string | null; /** - * Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460. + * Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460. */ mtu?: number | null; /** @@ -9539,6 +9557,164 @@ export namespace compute_alpha { */ subnetworks?: string[] | null; } + /** + * NetworkAttachments A network attachment resource ... + */ + export interface Schema$NetworkAttachment { + /** + * [Output Only] An array of connections for all the producers connected to this network attachment. + */ + connectionEndpoints?: Schema$NetworkAttachmentConnectedEndpoint[]; + connectionPreference?: string | null; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + /** + * [Output Only] Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch. + */ + fingerprint?: string | null; + /** + * [Output Only] The unique identifier for the resource type. The server generates this identifier. + */ + id?: string | null; + /** + * [Output Only] Type of the resource. + */ + kind?: string | null; + /** + * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + */ + name?: string | null; + /** + * [Output Only] The URL of the network which the Network Attachment belongs to. + */ + network?: string | null; + /** + * Projects that are allowed to connect to this network attachment. The project can be specified using its id or number. + */ + producerAcceptLists?: string[] | null; + /** + * Projects that are not allowed to connect to this network attachment. The project can be specified using its id or number. + */ + producerRejectLists?: string[] | null; + /** + * [Output Only] URL of the region where the network attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + */ + region?: string | null; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource's resource id. + */ + selfLinkWithId?: string | null; + /** + * An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment. + */ + subnetworks?: string[] | null; + } + /** + * Contains a list of NetworkAttachmentsScopedList. + */ + export interface Schema$NetworkAttachmentAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of NetworkAttachmentsScopedList resources. + */ + items?: {[key: string]: Schema$NetworkAttachmentsScopedList} | null; + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + /** + * [Output Only] A connection connected to this network attachment. + */ + export interface Schema$NetworkAttachmentConnectedEndpoint { + /** + * The IP address assigned to the producer instance network interface. This value will be a range in case of Serverless. + */ + ipAddress?: string | null; + /** + * The project id or number of the interface to which the IP was assigned. + */ + projectIdOrNum?: string | null; + /** + * Alias IP ranges from the same subnetwork + */ + secondaryIpCidrRanges?: string[] | null; + /** + * The status of a connected endpoint to this network attachment. + */ + status?: string | null; + /** + * The subnetwork used to assign the IP to the producer instance network interface. + */ + subnetwork?: string | null; + } + export interface Schema$NetworkAttachmentList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of NetworkAttachment resources. + */ + items?: Schema$NetworkAttachment[]; + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + export interface Schema$NetworkAttachmentsScopedList { + /** + * A list of NetworkAttachments contained in this scope. + */ + networkAttachments?: Schema$NetworkAttachment[]; + /** + * Informational warning which replaces the list of network attachments when the list is empty. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * Represents a Google Cloud Armor network edge security service resource. */ @@ -11507,7 +11683,7 @@ export namespace compute_alpha { */ defaultCustomErrorResponsePolicy?: Schema$CustomErrorResponsePolicy; /** - * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction. + * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction. */ defaultRouteAction?: Schema$HttpRouteAction; /** @@ -11552,7 +11728,7 @@ export namespace compute_alpha { */ paths?: string[] | null; /** - * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only the urlRewrite action within a path rule's routeAction. + * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** @@ -13742,7 +13918,7 @@ export namespace compute_alpha { */ description?: string | null; /** - * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. + * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). */ encryptedInterconnectRouter?: boolean | null; /** @@ -17723,7 +17899,7 @@ export namespace compute_alpha { low?: string | null; } /** - * Upcoming Maintenance notification information. TODO(b/196881882) Deprecate this proto once it's fully migrated to be under proto ResourceStatus.UpcomingMaintenance. + * Upcoming Maintenance notification information. TODO(b/242069500) Deprecate this proto once it's fully migrated to be under proto ResourceStatus.UpcomingMaintenance. */ export interface Schema$UpcomingMaintenance { /** @@ -17767,7 +17943,7 @@ export namespace compute_alpha { */ defaultCustomErrorResponsePolicy?: Schema$CustomErrorResponsePolicy; /** - * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultRouteAction?: Schema$HttpRouteAction; /** @@ -18407,11 +18583,11 @@ export namespace compute_alpha { */ id?: number | null; /** - * URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. + * URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. */ interconnectAttachment?: string | null; /** - * [Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address. + * [Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address. */ ipAddress?: string | null; } @@ -82266,14 +82442,14 @@ export namespace compute_alpha { zone?: string; } - export class Resource$Networkedgesecurityservices { + export class Resource$Networkattachments { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. + * Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. * @example * ```js * // Before running the sample: @@ -82302,7 +82478,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.aggregatedList({ + * const res = await compute.networkAttachments.aggregatedList({ * // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. * filter: 'placeholder-value', * // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. @@ -82313,7 +82489,7 @@ export namespace compute_alpha { * orderBy: 'placeholder-value', * // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. * pageToken: 'placeholder-value', - * // Name of the project scoping this request. + * // Project ID for this request. * project: * '(?:(?:[-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])?))', * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. @@ -82323,13 +82499,11 @@ export namespace compute_alpha { * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", * // "items": {}, * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -82347,57 +82521,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ aggregatedList( - params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + params: Params$Resource$Networkattachments$Aggregatedlist, options: StreamMethodOptions ): GaxiosPromise; aggregatedList( - params?: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + params?: Params$Resource$Networkattachments$Aggregatedlist, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; aggregatedList( - params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + params: Params$Resource$Networkattachments$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + params: Params$Resource$Networkattachments$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, - callback: BodyResponseCallback + params: Params$Resource$Networkattachments$Aggregatedlist, + callback: BodyResponseCallback ): void; aggregatedList( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; aggregatedList( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Networkattachments$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Aggregatedlist; + {}) as Params$Resource$Networkattachments$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkedgesecurityservices$Aggregatedlist; + params = {} as Params$Resource$Networkattachments$Aggregatedlist; options = {}; } @@ -82412,7 +82585,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/networkEdgeSecurityServices' + '/compute/alpha/projects/{project}/aggregated/networkAttachments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', }, @@ -82424,19 +82597,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Deletes the specified service. + * Deletes the specified NetworkAttachment in the given scope * @example * ```js * // Before running the sample: @@ -82464,16 +82637,15 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.delete({ - * // Name of the network edge security service to delete. - * networkEdgeSecurityService: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkAttachments.delete({ + * // Name of the NetworkAttachment resource to delete. + * networkAttachment: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-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])?))', - * // Name of the region scoping this request. + * // Name of the region of this request. * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder * requestId: 'placeholder-value', * }); * console.log(res.data); @@ -82522,31 +82694,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Networkedgesecurityservices$Delete, + params: Params$Resource$Networkattachments$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Networkedgesecurityservices$Delete, + params?: Params$Resource$Networkattachments$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Networkedgesecurityservices$Delete, + params: Params$Resource$Networkattachments$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Networkedgesecurityservices$Delete, + params: Params$Resource$Networkattachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Networkedgesecurityservices$Delete, + params: Params$Resource$Networkattachments$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Delete + | Params$Resource$Networkattachments$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -82559,12 +82731,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Delete; + {}) as Params$Resource$Networkattachments$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkedgesecurityservices$Delete; + params = {} as Params$Resource$Networkattachments$Delete; options = {}; } @@ -82579,15 +82751,15 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', }, options ), params, - requiredParams: ['project', 'region', 'networkEdgeSecurityService'], - pathParams: ['networkEdgeSecurityService', 'project', 'region'], + requiredParams: ['project', 'region', 'networkAttachment'], + pathParams: ['networkAttachment', 'project', 'region'], context: this.context, }; if (callback) { @@ -82601,7 +82773,7 @@ export namespace compute_alpha { } /** - * Gets a specified NetworkEdgeSecurityService. + * Returns the specified NetworkAttachment resource in the given scope. * @example * ```js * // Before running the sample: @@ -82630,30 +82802,34 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.get({ - * // Name of the network edge security service to get. - * networkEdgeSecurityService: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkAttachments.get({ + * // Name of the NetworkAttachment resource to return. + * networkAttachment: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-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])?))', - * // Name of the region scoping this request. + * // Name of the region of this request. * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "connectionEndpoints": [], + * // "connectionPreference": "my_connectionPreference", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", * // "name": "my_name", + * // "network": "my_network", + * // "producerAcceptLists": [], + * // "producerRejectLists": [], * // "region": "my_region", - * // "securityPolicy": "my_securityPolicy", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId" + * // "selfLinkWithId": "my_selfLinkWithId", + * // "subnetworks": [] * // } * } * @@ -82670,56 +82846,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Networkedgesecurityservices$Get, + params: Params$Resource$Networkattachments$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Networkedgesecurityservices$Get, + params?: Params$Resource$Networkattachments$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Networkedgesecurityservices$Get, + params: Params$Resource$Networkattachments$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Networkedgesecurityservices$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Networkattachments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Networkedgesecurityservices$Get, - callback: BodyResponseCallback - ): void; - get( - callback: BodyResponseCallback + params: Params$Resource$Networkattachments$Get, + callback: BodyResponseCallback ): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Get - | BodyResponseCallback + | Params$Resource$Networkattachments$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Get; + {}) as Params$Resource$Networkattachments$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkedgesecurityservices$Get; + params = {} as Params$Resource$Networkattachments$Get; options = {}; } @@ -82734,29 +82906,29 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', }, options ), params, - requiredParams: ['project', 'region', 'networkEdgeSecurityService'], - pathParams: ['networkEdgeSecurityService', 'project', 'region'], + requiredParams: ['project', 'region', 'networkAttachment'], + pathParams: ['networkAttachment', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a new service in the specified project using the data included in the request. + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. * @example * ```js * // Before running the sample: @@ -82776,6 +82948,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -82784,64 +82957,26 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.insert({ + * const res = await compute.networkAttachments.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-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])?))', - * // Name of the region scoping this request. + * // The name of the region for this request. * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // If true, the request will not be committed. - * validateOnly: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "region": "my_region", - * // "securityPolicy": "my_securityPolicy", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId" - * // } - * }, + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "kind": "my_kind", - * // "metadata": {}, - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "rules": [], + * // "version": 0 * // } * } * @@ -82857,50 +82992,50 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Networkedgesecurityservices$Insert, + getIamPolicy( + params: Params$Resource$Networkattachments$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - insert( - params?: Params$Resource$Networkedgesecurityservices$Insert, + getIamPolicy( + params?: Params$Resource$Networkattachments$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - insert( - params: Params$Resource$Networkedgesecurityservices$Insert, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Networkattachments$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networkedgesecurityservices$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Networkattachments$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networkedgesecurityservices$Insert, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Networkattachments$Getiampolicy, + callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Insert - | BodyResponseCallback + | Params$Resource$Networkattachments$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Insert; + {}) as Params$Resource$Networkattachments$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkedgesecurityservices$Insert; + params = {} as Params$Resource$Networkattachments$Getiampolicy; options = {}; } @@ -82915,29 +83050,1520 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', }, options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified policy with the data included in the request. + * Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkAttachments.insert({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectionEndpoints": [], + * // "connectionPreference": "my_connectionPreference", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "network": "my_network", + * // "producerAcceptLists": [], + * // "producerRejectLists": [], + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "subnetworks": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "metadata": {}, + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Networkattachments$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Networkattachments$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Networkattachments$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Networkattachments$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Networkattachments$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Networkattachments$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkattachments$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the NetworkAttachments for a project in the given scope. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkAttachments.list({ + * // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Networkattachments$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Networkattachments$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Networkattachments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Networkattachments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Networkattachments$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Networkattachments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkattachments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkAttachments.setIamPolicy({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "rules": [], + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Networkattachments$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Networkattachments$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Networkattachments$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Networkattachments$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Networkattachments$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Networkattachments$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkattachments$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkAttachments.testIamPermissions({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Networkattachments$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Networkattachments$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Networkattachments$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Networkattachments$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Networkattachments$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Networkattachments$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkattachments$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Networkattachments$Aggregatedlist + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + */ + filter?: string; + /** + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Networkattachments$Delete + extends StandardParameters { + /** + * Name of the NetworkAttachment resource to delete. + */ + networkAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + } + export interface Params$Resource$Networkattachments$Get + extends StandardParameters { + /** + * Name of the NetworkAttachment resource to return. + */ + networkAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + } + export interface Params$Resource$Networkattachments$Getiampolicy + extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } + export interface Params$Resource$Networkattachments$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkAttachment; + } + export interface Params$Resource$Networkattachments$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Networkattachments$Setiampolicy + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + export interface Params$Resource$Networkattachments$Testiampermissions + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Networkedgesecurityservices { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkEdgeSecurityServices.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + * filter: 'placeholder-value', + * // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + * pageToken: 'placeholder-value', + * // Name of the project scoping this request. + * project: + * '(?:(?:[-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])?))', + * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + options: StreamMethodOptions + ): GaxiosPromise; + aggregatedList( + params?: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + options?: MethodOptions + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Networkedgesecurityservices$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkedgesecurityservices$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Networkedgesecurityservices$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/aggregated/networkEdgeSecurityServices' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Deletes the specified service. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkEdgeSecurityServices.delete({ + * // Name of the network edge security service to delete. + * networkEdgeSecurityService: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "metadata": {}, + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Networkedgesecurityservices$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Networkedgesecurityservices$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Networkedgesecurityservices$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Networkedgesecurityservices$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Networkedgesecurityservices$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Networkedgesecurityservices$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkedgesecurityservices$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkedgesecurityservices$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + }, + options + ), + params, + requiredParams: ['project', 'region', 'networkEdgeSecurityService'], + pathParams: ['networkEdgeSecurityService', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a specified NetworkEdgeSecurityService. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkEdgeSecurityServices.get({ + * // Name of the network edge security service to get. + * networkEdgeSecurityService: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "region": "my_region", + * // "securityPolicy": "my_securityPolicy", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Networkedgesecurityservices$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Networkedgesecurityservices$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Networkedgesecurityservices$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Networkedgesecurityservices$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Networkedgesecurityservices$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Networkedgesecurityservices$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkedgesecurityservices$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkedgesecurityservices$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project', 'region', 'networkEdgeSecurityService'], + pathParams: ['networkEdgeSecurityService', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a new service in the specified project using the data included in the request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkEdgeSecurityServices.insert({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // If true, the request will not be committed. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "region": "my_region", + * // "securityPolicy": "my_securityPolicy", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "metadata": {}, + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Networkedgesecurityservices$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Networkedgesecurityservices$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Networkedgesecurityservices$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Networkedgesecurityservices$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Networkedgesecurityservices$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Networkedgesecurityservices$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkedgesecurityservices$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkedgesecurityservices$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Patches the specified policy with the data included in the request. * @example * ```js * // Before running the sample: @@ -130573,6 +132199,195 @@ export namespace compute_alpha { this.context = context; } + /** + * Inserts a rule into a security policy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionSecurityPolicies.addRule({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the security policy to update. + * securityPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // If true, the request will not be committed. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": "my_action", + * // "description": "my_description", + * // "direction": "my_direction", + * // "enableLogging": false, + * // "headerAction": {}, + * // "kind": "my_kind", + * // "match": {}, + * // "preconfiguredWafConfig": {}, + * // "preview": false, + * // "priority": 0, + * // "rateLimitOptions": {}, + * // "redirectOptions": {}, + * // "redirectTarget": "my_redirectTarget", + * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", + * // "ruleNumber": "my_ruleNumber", + * // "ruleTupleCount": 0, + * // "targetResources": [], + * // "targetServiceAccounts": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "metadata": {}, + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + addRule( + params: Params$Resource$Regionsecuritypolicies$Addrule, + options: StreamMethodOptions + ): GaxiosPromise; + addRule( + params?: Params$Resource$Regionsecuritypolicies$Addrule, + options?: MethodOptions + ): GaxiosPromise; + addRule( + params: Params$Resource$Regionsecuritypolicies$Addrule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addRule( + params: Params$Resource$Regionsecuritypolicies$Addrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addRule( + params: Params$Resource$Regionsecuritypolicies$Addrule, + callback: BodyResponseCallback + ): void; + addRule(callback: BodyResponseCallback): void; + addRule( + paramsOrCallback?: + | Params$Resource$Regionsecuritypolicies$Addrule + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsecuritypolicies$Addrule; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsecuritypolicies$Addrule; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'securityPolicy'], + pathParams: ['project', 'region', 'securityPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Deletes the specified policy. * @example @@ -130896,6 +132711,166 @@ export namespace compute_alpha { } } + /** + * Gets a rule at the specified priority. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionSecurityPolicies.getRule({ + * // The priority of the rule to get from the security policy. + * priority: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the security policy to which the queried rule belongs. + * securityPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": "my_action", + * // "description": "my_description", + * // "direction": "my_direction", + * // "enableLogging": false, + * // "headerAction": {}, + * // "kind": "my_kind", + * // "match": {}, + * // "preconfiguredWafConfig": {}, + * // "preview": false, + * // "priority": 0, + * // "rateLimitOptions": {}, + * // "redirectOptions": {}, + * // "redirectTarget": "my_redirectTarget", + * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", + * // "ruleNumber": "my_ruleNumber", + * // "ruleTupleCount": 0, + * // "targetResources": [], + * // "targetServiceAccounts": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getRule( + params: Params$Resource$Regionsecuritypolicies$Getrule, + options: StreamMethodOptions + ): GaxiosPromise; + getRule( + params?: Params$Resource$Regionsecuritypolicies$Getrule, + options?: MethodOptions + ): GaxiosPromise; + getRule( + params: Params$Resource$Regionsecuritypolicies$Getrule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getRule( + params: Params$Resource$Regionsecuritypolicies$Getrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getRule( + params: Params$Resource$Regionsecuritypolicies$Getrule, + callback: BodyResponseCallback + ): void; + getRule(callback: BodyResponseCallback): void; + getRule( + paramsOrCallback?: + | Params$Resource$Regionsecuritypolicies$Getrule + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsecuritypolicies$Getrule; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsecuritypolicies$Getrule; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project', 'region', 'securityPolicy'], + pathParams: ['project', 'region', 'securityPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Creates a new policy in the specified project using the data included in the request. * @example @@ -131273,43 +133248,237 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionSecurityPolicies.patch({ + * const res = await compute.regionSecurityPolicies.patch({ + * paths: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the security policy to update. + * securityPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Indicates fields to be cleared as part of this request. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "adaptiveProtectionConfig": {}, + * // "advancedOptionsConfig": {}, + * // "associations": [], + * // "cloudArmorConfig": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "ddosProtectionConfig": {}, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "name": "my_name", + * // "parent": "my_parent", + * // "recaptchaOptionsConfig": {}, + * // "region": "my_region", + * // "ruleTupleCount": 0, + * // "rules": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "type": "my_type" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "metadata": {}, + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Regionsecuritypolicies$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Regionsecuritypolicies$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Regionsecuritypolicies$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Regionsecuritypolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Regionsecuritypolicies$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Regionsecuritypolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsecuritypolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsecuritypolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + }, + options + ), + params, + requiredParams: ['project', 'region', 'securityPolicy'], + pathParams: ['project', 'region', 'securityPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Patches a rule at the specified priority. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionSecurityPolicies.patchRule({ + * // The priority of the rule to patch. + * priority: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-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])?))', * // Name of the region scoping this request. * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', * // Name of the security policy to update. * securityPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // If true, the request will not be committed. + * validateOnly: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "adaptiveProtectionConfig": {}, - * // "advancedOptionsConfig": {}, - * // "associations": [], - * // "cloudArmorConfig": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "ddosProtectionConfig": {}, + * // "action": "my_action", * // "description": "my_description", - * // "displayName": "my_displayName", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", + * // "direction": "my_direction", + * // "enableLogging": false, + * // "headerAction": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "name": "my_name", - * // "parent": "my_parent", - * // "recaptchaOptionsConfig": {}, - * // "region": "my_region", + * // "match": {}, + * // "preconfiguredWafConfig": {}, + * // "preview": false, + * // "priority": 0, + * // "rateLimitOptions": {}, + * // "redirectOptions": {}, + * // "redirectTarget": "my_redirectTarget", + * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", + * // "ruleNumber": "my_ruleNumber", * // "ruleTupleCount": 0, - * // "rules": [], - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "type": "my_type" + * // "targetResources": [], + * // "targetServiceAccounts": [] * // } * }, * }); @@ -131358,32 +133527,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Regionsecuritypolicies$Patch, + patchRule( + params: Params$Resource$Regionsecuritypolicies$Patchrule, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Regionsecuritypolicies$Patch, + patchRule( + params?: Params$Resource$Regionsecuritypolicies$Patchrule, options?: MethodOptions ): GaxiosPromise; - patch( - params: Params$Resource$Regionsecuritypolicies$Patch, + patchRule( + params: Params$Resource$Regionsecuritypolicies$Patchrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Regionsecuritypolicies$Patch, + patchRule( + params: Params$Resource$Regionsecuritypolicies$Patchrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Regionsecuritypolicies$Patch, + patchRule( + params: Params$Resource$Regionsecuritypolicies$Patchrule, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + patchRule(callback: BodyResponseCallback): void; + patchRule( paramsOrCallback?: - | Params$Resource$Regionsecuritypolicies$Patch + | Params$Resource$Regionsecuritypolicies$Patchrule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -131396,12 +133565,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Regionsecuritypolicies$Patch; + {}) as Params$Resource$Regionsecuritypolicies$Patchrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regionsecuritypolicies$Patch; + params = {} as Params$Resource$Regionsecuritypolicies$Patchrule; options = {}; } @@ -131416,9 +133585,173 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}' + '/compute/alpha/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'securityPolicy'], + pathParams: ['project', 'region', 'securityPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a rule at the specified priority. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionSecurityPolicies.removeRule({ + * // The priority of the rule to remove from the security policy. + * priority: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the security policy to update. + * securityPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "metadata": {}, + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeRule( + params: Params$Resource$Regionsecuritypolicies$Removerule, + options: StreamMethodOptions + ): GaxiosPromise; + removeRule( + params?: Params$Resource$Regionsecuritypolicies$Removerule, + options?: MethodOptions + ): GaxiosPromise; + removeRule( + params: Params$Resource$Regionsecuritypolicies$Removerule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeRule( + params: Params$Resource$Regionsecuritypolicies$Removerule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeRule( + params: Params$Resource$Regionsecuritypolicies$Removerule, + callback: BodyResponseCallback + ): void; + removeRule(callback: BodyResponseCallback): void; + removeRule( + paramsOrCallback?: + | Params$Resource$Regionsecuritypolicies$Removerule + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsecuritypolicies$Removerule; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsecuritypolicies$Removerule; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', }, options ), @@ -131438,6 +133771,30 @@ export namespace compute_alpha { } } + export interface Params$Resource$Regionsecuritypolicies$Addrule + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } export interface Params$Resource$Regionsecuritypolicies$Delete extends StandardParameters { /** @@ -131472,6 +133829,25 @@ export namespace compute_alpha { */ securityPolicy?: string; } + export interface Params$Resource$Regionsecuritypolicies$Getrule + extends StandardParameters { + /** + * The priority of the rule to get from the security policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the security policy to which the queried rule belongs. + */ + securityPolicy?: string; + } export interface Params$Resource$Regionsecuritypolicies$Insert extends StandardParameters { /** @@ -131529,6 +133905,10 @@ export namespace compute_alpha { } export interface Params$Resource$Regionsecuritypolicies$Patch extends StandardParameters { + /** + * + */ + paths?: string[]; /** * Project ID for this request. */ @@ -131545,12 +133925,63 @@ export namespace compute_alpha { * Name of the security policy to update. */ securityPolicy?: string; + /** + * Indicates fields to be cleared as part of this request. + */ + updateMask?: string; /** * Request body metadata */ requestBody?: Schema$SecurityPolicy; } + export interface Params$Resource$Regionsecuritypolicies$Patchrule + extends StandardParameters { + /** + * The priority of the rule to patch. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + export interface Params$Resource$Regionsecuritypolicies$Removerule + extends StandardParameters { + /** + * The priority of the rule to remove from the security policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + } export class Resource$Regionsslcertificates { context: APIRequestContext; @@ -146683,6 +149114,7 @@ export namespace compute_alpha { * * // Do the magic * const res = await compute.securityPolicies.patch({ + * paths: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-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])?))', @@ -146690,6 +149122,8 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // Name of the security policy to update. * securityPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Indicates fields to be cleared as part of this request. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { @@ -147684,6 +150118,10 @@ export namespace compute_alpha { } export interface Params$Resource$Securitypolicies$Patch extends StandardParameters { + /** + * + */ + paths?: string[]; /** * Project ID for this request. */ @@ -147696,6 +150134,10 @@ export namespace compute_alpha { * Name of the security policy to update. */ securityPolicy?: string; + /** + * Indicates fields to be cleared as part of this request. + */ + updateMask?: string; /** * Request body metadata diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index 5714f42c16..24200dc3c4 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -580,7 +580,7 @@ export namespace compute_beta { */ prefixLength?: number | null; /** - * The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. + * The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. */ purpose?: string | null; /** @@ -811,6 +811,10 @@ export namespace compute_beta { * The size of the disk in GB. */ diskSizeGb?: string | null; + /** + * [Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error. + */ + forceAttach?: boolean | null; /** * A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. */ @@ -824,7 +828,7 @@ export namespace compute_beta { */ initializeParams?: Schema$AttachedDiskInitializeParams; /** - * Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. + * Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks. */ interface?: string | null; /** @@ -1904,11 +1908,11 @@ export namespace compute_beta { */ export interface Schema$BackendServiceLogConfig { /** - * This field denotes whether to enable logging for the load balancer traffic served by this backend service. + * Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false. */ enable?: boolean | null; /** - * This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 0.0. + * This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0. */ sampleRate?: number | null; } @@ -2071,7 +2075,7 @@ export namespace compute_beta { */ condition?: Schema$Expr; /** - * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. */ members?: string[] | null; /** @@ -2228,6 +2232,10 @@ export namespace compute_beta { * The license specification required as part of a license commitment. */ licenseResource?: Schema$LicenseResourceCommitment; + /** + * List of source commitments to be merged into a new commitment. + */ + mergeSourceCommitments?: string[] | null; /** * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ @@ -2252,6 +2260,10 @@ export namespace compute_beta { * [Output Only] Server-defined URL for the resource. */ selfLink?: string | null; + /** + * Source commitment to be splitted into a new commitment. + */ + splitSourceCommitment?: string | null; /** * [Output Only] Commitment start time in RFC3339 text format. */ @@ -3230,7 +3242,7 @@ export namespace compute_beta { */ destinationRanges?: string[] | null; /** - * Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify the destinationRanges field, and for `EGRESS` traffic, you cannot specify the sourceRanges or sourceTags fields. + * Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields. */ direction?: string | null; /** @@ -3363,7 +3375,7 @@ export namespace compute_beta { */ description?: string | null; /** - * Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ displayName?: string | null; /** @@ -3379,11 +3391,11 @@ export namespace compute_beta { */ kind?: string | null; /** - * [Output Only] Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy. + * Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by GCP which uniquely identifies the Organization Firewall Policy. */ name?: string | null; /** - * [Output Only] The parent of the firewall policy. + * [Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies. */ parent?: string | null; /** @@ -3407,7 +3419,7 @@ export namespace compute_beta { */ selfLinkWithId?: string | null; /** - * User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ shortName?: string | null; } @@ -4711,7 +4723,7 @@ export namespace compute_beta { */ priority?: number | null; /** - * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a route rule's routeAction. + * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** @@ -6679,7 +6691,7 @@ export namespace compute_beta { */ edgeAvailabilityDomain?: string | null; /** - * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN attachment must be created with this option. Not currently available publicly. + * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. */ encryption?: string | null; /** @@ -7332,7 +7344,7 @@ export namespace compute_beta { */ export interface Schema$LocalizedMessage { /** - * The locale used following the specification defined at http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" + * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" */ locale?: string | null; /** @@ -7881,7 +7893,7 @@ export namespace compute_beta { */ kind?: string | null; /** - * Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460. + * Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460. */ mtu?: number | null; /** @@ -9745,7 +9757,7 @@ export namespace compute_beta { */ export interface Schema$PathMatcher { /** - * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction. + * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction. */ defaultRouteAction?: Schema$HttpRouteAction; /** @@ -9786,7 +9798,7 @@ export namespace compute_beta { */ paths?: string[] | null; /** - * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only the urlRewrite action within a path rule's routeAction. + * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** @@ -11501,7 +11513,7 @@ export namespace compute_beta { */ description?: string | null; /** - * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. + * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). */ encryptedInterconnectRouter?: boolean | null; /** @@ -15137,7 +15149,7 @@ export namespace compute_beta { */ creationTimestamp?: string | null; /** - * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultRouteAction?: Schema$HttpRouteAction; /** @@ -15769,11 +15781,11 @@ export namespace compute_beta { */ id?: number | null; /** - * URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. + * URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. */ interconnectAttachment?: string | null; /** - * [Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address. + * [Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address. */ ipAddress?: string | null; } @@ -54503,6 +54515,7 @@ export namespace compute_beta { * // "deviceName": "my_deviceName", * // "diskEncryptionKey": {}, * // "diskSizeGb": "my_diskSizeGb", + * // "forceAttach": false, * // "guestOsFeatures": [], * // "index": 0, * // "initializeParams": {}, @@ -95162,12 +95175,14 @@ export namespace compute_beta { * // "id": "my_id", * // "kind": "my_kind", * // "licenseResource": {}, + * // "mergeSourceCommitments": [], * // "name": "my_name", * // "plan": "my_plan", * // "region": "my_region", * // "reservations": [], * // "resources": [], * // "selfLink": "my_selfLink", + * // "splitSourceCommitment": "my_splitSourceCommitment", * // "startTimestamp": "my_startTimestamp", * // "status": "my_status", * // "statusMessage": "my_statusMessage", @@ -95316,12 +95331,14 @@ export namespace compute_beta { * // "id": "my_id", * // "kind": "my_kind", * // "licenseResource": {}, + * // "mergeSourceCommitments": [], * // "name": "my_name", * // "plan": "my_plan", * // "region": "my_region", * // "reservations": [], * // "resources": [], * // "selfLink": "my_selfLink", + * // "splitSourceCommitment": "my_splitSourceCommitment", * // "startTimestamp": "my_startTimestamp", * // "status": "my_status", * // "statusMessage": "my_statusMessage", @@ -95811,12 +95828,14 @@ export namespace compute_beta { * // "id": "my_id", * // "kind": "my_kind", * // "licenseResource": {}, + * // "mergeSourceCommitments": [], * // "name": "my_name", * // "plan": "my_plan", * // "region": "my_region", * // "reservations": [], * // "resources": [], * // "selfLink": "my_selfLink", + * // "splitSourceCommitment": "my_splitSourceCommitment", * // "startTimestamp": "my_startTimestamp", * // "status": "my_status", * // "statusMessage": "my_statusMessage", diff --git a/src/apis/compute/package.json b/src/apis/compute/package.json index 92a3ff0a5f..a5be992c52 100644 --- a/src/apis/compute/package.json +++ b/src/apis/compute/package.json @@ -28,7 +28,7 @@ "webpack": "webpack" }, "dependencies": { - "googleapis-common": "^5.0.1" + "googleapis-common": "^6.0.3" }, "devDependencies": { "@microsoft/api-documenter": "^7.8.10", diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index a51488faab..9006d17a44 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -180,6 +180,7 @@ export namespace compute_v1 { regionSslPolicies: Resource$Regionsslpolicies; regionTargetHttpProxies: Resource$Regiontargethttpproxies; regionTargetHttpsProxies: Resource$Regiontargethttpsproxies; + regionTargetTcpProxies: Resource$Regiontargettcpproxies; regionUrlMaps: Resource$Regionurlmaps; reservations: Resource$Reservations; resourcePolicies: Resource$Resourcepolicies; @@ -313,6 +314,9 @@ export namespace compute_v1 { this.regionTargetHttpsProxies = new Resource$Regiontargethttpsproxies( this.context ); + this.regionTargetTcpProxies = new Resource$Regiontargettcpproxies( + this.context + ); this.regionUrlMaps = new Resource$Regionurlmaps(this.context); this.reservations = new Resource$Reservations(this.context); this.resourcePolicies = new Resource$Resourcepolicies(this.context); @@ -565,7 +569,7 @@ export namespace compute_v1 { */ prefixLength?: number | null; /** - * The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. + * The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. */ purpose?: string | null; /** @@ -686,6 +690,10 @@ export namespace compute_v1 { * The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed. */ threadsPerCore?: number | null; + /** + * The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width. + */ + visibleCoreCount?: number | null; } /** * An alias IP range attached to an instance's network interface. @@ -784,6 +792,10 @@ export namespace compute_v1 { * The size of the disk in GB. */ diskSizeGb?: string | null; + /** + * [Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error. + */ + forceAttach?: boolean | null; /** * A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. */ @@ -797,7 +809,7 @@ export namespace compute_v1 { */ initializeParams?: Schema$AttachedDiskInitializeParams; /** - * Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. + * Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks. */ interface?: string | null; /** @@ -1281,6 +1293,10 @@ export namespace compute_v1 { * Cloud CDN configuration for this BackendBucket. */ cdnPolicy?: Schema$BackendBucketCdnPolicy; + /** + * Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. + */ + compressionMode?: string | null; /** * [Output Only] Creation timestamp in RFC3339 text format. */ @@ -1456,6 +1472,10 @@ export namespace compute_v1 { */ cdnPolicy?: Schema$BackendServiceCdnPolicy; circuitBreakers?: Schema$CircuitBreakers; + /** + * Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. + */ + compressionMode?: string | null; connectionDraining?: Schema$ConnectionDraining; /** * Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for Network Load Balancing and Internal TCP/UDP Load Balancing. @@ -1839,11 +1859,11 @@ export namespace compute_v1 { */ export interface Schema$BackendServiceLogConfig { /** - * This field denotes whether to enable logging for the load balancer traffic served by this backend service. + * Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false. */ enable?: boolean | null; /** - * This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 0.0. + * This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0. */ sampleRate?: number | null; } @@ -2006,7 +2026,7 @@ export namespace compute_v1 { */ condition?: Schema$Expr; /** - * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. */ members?: string[] | null; /** @@ -2159,6 +2179,10 @@ export namespace compute_v1 { * The license specification required as part of a license commitment. */ licenseResource?: Schema$LicenseResourceCommitment; + /** + * List of source commitments to be merged into a new commitment. + */ + mergeSourceCommitments?: string[] | null; /** * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ @@ -2183,6 +2207,10 @@ export namespace compute_v1 { * [Output Only] Server-defined URL for the resource. */ selfLink?: string | null; + /** + * Source commitment to be splitted into a new commitment. + */ + splitSourceCommitment?: string | null; /** * [Output Only] Commitment start time in RFC3339 text format. */ @@ -3133,7 +3161,7 @@ export namespace compute_v1 { */ destinationRanges?: string[] | null; /** - * Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify the destinationRanges field, and for `EGRESS` traffic, you cannot specify the sourceRanges or sourceTags fields. + * Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields. */ direction?: string | null; /** @@ -3262,7 +3290,7 @@ export namespace compute_v1 { */ description?: string | null; /** - * Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ displayName?: string | null; /** @@ -3278,11 +3306,11 @@ export namespace compute_v1 { */ kind?: string | null; /** - * [Output Only] Name of the resource. It is a numeric ID allocated by GCP which uniquely identifies the Firewall Policy. + * Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by GCP which uniquely identifies the Organization Firewall Policy. */ name?: string | null; /** - * [Output Only] The parent of the firewall policy. + * [Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies. */ parent?: string | null; /** @@ -3306,7 +3334,7 @@ export namespace compute_v1 { */ selfLinkWithId?: string | null; /** - * User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ shortName?: string | null; } @@ -4553,7 +4581,7 @@ export namespace compute_v1 { */ priority?: number | null; /** - * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a route rule's routeAction. + * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** @@ -6366,7 +6394,7 @@ export namespace compute_v1 { */ edgeAvailabilityDomain?: string | null; /** - * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN attachment must be created with this option. Not currently available publicly. + * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. */ encryption?: string | null; /** @@ -7011,7 +7039,7 @@ export namespace compute_v1 { */ export interface Schema$LocalizedMessage { /** - * The locale used following the specification defined at http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" + * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" */ locale?: string | null; /** @@ -7558,7 +7586,7 @@ export namespace compute_v1 { */ kind?: string | null; /** - * Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460. + * Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460. */ mtu?: number | null; /** @@ -9320,7 +9348,7 @@ export namespace compute_v1 { */ export interface Schema$PathMatcher { /** - * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction. + * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction. */ defaultRouteAction?: Schema$HttpRouteAction; /** @@ -9361,7 +9389,7 @@ export namespace compute_v1 { */ paths?: string[] | null; /** - * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only the urlRewrite action within a path rule's routeAction. + * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** @@ -11004,7 +11032,7 @@ export namespace compute_v1 { */ description?: string | null; /** - * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. + * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). */ encryptedInterconnectRouter?: boolean | null; /** @@ -12833,6 +12861,41 @@ export namespace compute_v1 { */ response?: string | null; } + export interface Schema$SslPoliciesAggregatedList { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of SslPoliciesScopedList resources. + */ + items?: {[key: string]: Schema$SslPoliciesScopedList} | null; + /** + * [Output Only] Type of resource. Always compute#sslPolicyAggregatedList for lists of SSL Policies. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } export interface Schema$SslPoliciesList { /** * [Output Only] Unique identifier for the resource; defined by the server. @@ -12866,6 +12929,20 @@ export namespace compute_v1 { export interface Schema$SslPoliciesListAvailableFeaturesResponse { features?: string[] | null; } + export interface Schema$SslPoliciesScopedList { + /** + * A list of SslPolicies contained in this scope. + */ + sslPolicies?: Schema$SslPolicy[]; + /** + * Informational warning which replaces the list of SSL policies when the list is empty. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * Represents an SSL Policy resource. Use SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts. */ @@ -14010,6 +14087,10 @@ export namespace compute_v1 { * Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. */ proxyHeader?: string | null; + /** + * [Output Only] URL of the region where the regional TCP proxy resides. This field is not applicable to global TCP proxy. + */ + region?: string | null; /** * [Output Only] Server-defined URL for the resource. */ @@ -14271,7 +14352,7 @@ export namespace compute_v1 { */ creationTimestamp?: string | null; /** - * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultRouteAction?: Schema$HttpRouteAction; /** @@ -14903,11 +14984,11 @@ export namespace compute_v1 { */ id?: number | null; /** - * URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. + * URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. */ interconnectAttachment?: string | null; /** - * [Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address. + * [Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address. */ ipAddress?: string | null; } @@ -16628,129 +16709,9 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Addresses$Aggregatedlist - extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. - */ - filter?: string; - /** - * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Addresses$Delete extends StandardParameters { - /** - * Name of the address resource to delete. - */ - address?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Addresses$Get extends StandardParameters { - /** - * Name of the address resource to return. - */ - address?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - } - export interface Params$Resource$Addresses$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Address; - } - export interface Params$Resource$Addresses$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - */ - returnPartialSuccess?: boolean; - } - - export class Resource$Autoscalers { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Retrieves an aggregated list of autoscalers. + * Sets the labels on an Address. To learn more about labels, read the Labeling Resources documentation. * @example * ```js * // Before running the sample: @@ -16770,7 +16731,6 @@ export namespace compute_v1 { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -16779,173 +16739,489 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.autoscalers.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. - * filter: 'placeholder-value', - * // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-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])?))', - * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - * returnPartialSuccess: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "id": "my_id", - * // "items": {}, - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - aggregatedList( - params: Params$Resource$Autoscalers$Aggregatedlist, - options: StreamMethodOptions - ): GaxiosPromise; - aggregatedList( - params?: Params$Resource$Autoscalers$Aggregatedlist, - options?: MethodOptions - ): GaxiosPromise; - aggregatedList( - params: Params$Resource$Autoscalers$Aggregatedlist, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Autoscalers$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Autoscalers$Aggregatedlist, - callback: BodyResponseCallback - ): void; - aggregatedList( - callback: BodyResponseCallback - ): void; - aggregatedList( - paramsOrCallback?: - | Params$Resource$Autoscalers$Aggregatedlist - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Autoscalers$Aggregatedlist; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Autoscalers$Aggregatedlist; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/compute/v1/projects/{project}/aggregated/autoscalers' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes the specified autoscaler. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // `$ gcloud auth application-default login` - * // - Install the npm module by running: - * // `$ npm install googleapis` - * - * const {google} = require('googleapis'); - * const compute = google.compute('v1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.autoscalers.delete({ - * // Name of the autoscaler to delete. - * autoscaler: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.addresses.setLabels({ * // Project ID for this request. * project: * '(?:(?:[-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])?))', + * // The region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Addresses$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Addresses$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Addresses$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Addresses$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Addresses$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Addresses$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Addresses$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Addresses$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/addresses/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Addresses$Aggregatedlist + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + */ + filter?: string; + /** + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Addresses$Delete extends StandardParameters { + /** + * Name of the address resource to delete. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Addresses$Get extends StandardParameters { + /** + * Name of the address resource to return. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Addresses$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Address; + } + export interface Params$Resource$Addresses$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Addresses$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + + export class Resource$Autoscalers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves an aggregated list of autoscalers. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.autoscalers.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + * filter: 'placeholder-value', + * // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Autoscalers$Aggregatedlist, + options: StreamMethodOptions + ): GaxiosPromise; + aggregatedList( + params?: Params$Resource$Autoscalers$Aggregatedlist, + options?: MethodOptions + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Autoscalers$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Autoscalers$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Autoscalers$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Autoscalers$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Autoscalers$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Autoscalers$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/v1/projects/{project}/aggregated/autoscalers' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified autoscaler. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.autoscalers.delete({ + * // Name of the autoscaler to delete. + * autoscaler: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -18620,6 +18896,7 @@ export namespace compute_v1 { * // { * // "bucketName": "my_bucketName", * // "cdnPolicy": {}, + * // "compressionMode": "my_compressionMode", * // "creationTimestamp": "my_creationTimestamp", * // "customResponseHeaders": [], * // "description": "my_description", @@ -18765,6 +19042,7 @@ export namespace compute_v1 { * // { * // "bucketName": "my_bucketName", * // "cdnPolicy": {}, + * // "compressionMode": "my_compressionMode", * // "creationTimestamp": "my_creationTimestamp", * // "customResponseHeaders": [], * // "description": "my_description", @@ -19093,6 +19371,7 @@ export namespace compute_v1 { * // { * // "bucketName": "my_bucketName", * // "cdnPolicy": {}, + * // "compressionMode": "my_compressionMode", * // "creationTimestamp": "my_creationTimestamp", * // "customResponseHeaders": [], * // "description": "my_description", @@ -19441,6 +19720,7 @@ export namespace compute_v1 { * // { * // "bucketName": "my_bucketName", * // "cdnPolicy": {}, + * // "compressionMode": "my_compressionMode", * // "creationTimestamp": "my_creationTimestamp", * // "customResponseHeaders": [], * // "description": "my_description", @@ -20448,6 +20728,7 @@ export namespace compute_v1 { * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, + * // "compressionMode": "my_compressionMode", * // "connectionDraining": {}, * // "connectionTrackingPolicy": {}, * // "consistentHash": {}, @@ -20729,6 +21010,148 @@ export namespace compute_v1 { } } + /** + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.backendServices.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "rules": [], + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Backendservices$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Backendservices$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Backendservices$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Backendservices$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Backendservices$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Backendservices$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Backendservices$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Backendservices$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{resource}/getIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview . * @example @@ -20773,6 +21196,7 @@ export namespace compute_v1 { * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, + * // "compressionMode": "my_compressionMode", * // "connectionDraining": {}, * // "connectionTrackingPolicy": {}, * // "consistentHash": {}, @@ -21128,6 +21552,7 @@ export namespace compute_v1 { * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, + * // "compressionMode": "my_compressionMode", * // "connectionDraining": {}, * // "connectionTrackingPolicy": {}, * // "consistentHash": {}, @@ -21458,7 +21883,7 @@ export namespace compute_v1 { } /** - * Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview + * Sets the access control policy on the specified resource. Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -21486,20 +21911,20 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.backendServices.setSecurityPolicy({ - * // Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035. - * backendService: 'placeholder-value', + * const res = await compute.backendServices.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-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])?))', - * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "securityPolicy": "my_securityPolicy" + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} * // } * }, * }); @@ -21507,30 +21932,11 @@ export namespace compute_v1 { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "rules": [], + * // "version": 0 * // } * } * @@ -21546,50 +21952,50 @@ export namespace compute_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setSecurityPolicy( - params: Params$Resource$Backendservices$Setsecuritypolicy, + setIamPolicy( + params: Params$Resource$Backendservices$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; - setSecurityPolicy( - params?: Params$Resource$Backendservices$Setsecuritypolicy, + setIamPolicy( + params?: Params$Resource$Backendservices$Setiampolicy, options?: MethodOptions - ): GaxiosPromise; - setSecurityPolicy( - params: Params$Resource$Backendservices$Setsecuritypolicy, + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Backendservices$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setSecurityPolicy( - params: Params$Resource$Backendservices$Setsecuritypolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Backendservices$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setSecurityPolicy( - params: Params$Resource$Backendservices$Setsecuritypolicy, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Backendservices$Setiampolicy, + callback: BodyResponseCallback ): void; - setSecurityPolicy(callback: BodyResponseCallback): void; - setSecurityPolicy( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Backendservices$Setsecuritypolicy - | BodyResponseCallback + | Params$Resource$Backendservices$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Backendservices$Setsecuritypolicy; + {}) as Params$Resource$Backendservices$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Backendservices$Setsecuritypolicy; + params = {} as Params$Resource$Backendservices$Setiampolicy; options = {}; } @@ -21604,29 +22010,29 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/global/backendServices/{backendService}/setSecurityPolicy' + '/compute/v1/projects/{project}/global/backendServices/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', }, options ), params, - requiredParams: ['project', 'backendService'], - pathParams: ['backendService', 'project'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. + * Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview * @example * ```js * // Before running the sample: @@ -21654,9 +22060,9 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.backendServices.update({ - * // Name of the BackendService resource to update. - * backendService: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.backendServices.setSecurityPolicy({ + * // Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035. + * backendService: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-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])?))', @@ -21667,44 +22073,213 @@ export namespace compute_v1 { * requestBody: { * // request body parameters * // { - * // "affinityCookieTtlSec": 0, - * // "backends": [], - * // "cdnPolicy": {}, - * // "circuitBreakers": {}, - * // "connectionDraining": {}, - * // "connectionTrackingPolicy": {}, - * // "consistentHash": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "customRequestHeaders": [], - * // "customResponseHeaders": [], - * // "description": "my_description", - * // "edgeSecurityPolicy": "my_edgeSecurityPolicy", - * // "enableCDN": false, - * // "failoverPolicy": {}, - * // "fingerprint": "my_fingerprint", - * // "healthChecks": [], - * // "iap": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "loadBalancingScheme": "my_loadBalancingScheme", - * // "localityLbPolicies": [], - * // "localityLbPolicy": "my_localityLbPolicy", - * // "logConfig": {}, - * // "maxStreamDuration": {}, - * // "name": "my_name", - * // "network": "my_network", - * // "outlierDetection": {}, - * // "port": 0, - * // "portName": "my_portName", - * // "protocol": "my_protocol", - * // "region": "my_region", - * // "securityPolicy": "my_securityPolicy", - * // "securitySettings": {}, - * // "selfLink": "my_selfLink", - * // "serviceBindings": [], - * // "sessionAffinity": "my_sessionAffinity", - * // "subsetting": {}, - * // "timeoutSec": 0 + * // "securityPolicy": "my_securityPolicy" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setSecurityPolicy( + params: Params$Resource$Backendservices$Setsecuritypolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setSecurityPolicy( + params?: Params$Resource$Backendservices$Setsecuritypolicy, + options?: MethodOptions + ): GaxiosPromise; + setSecurityPolicy( + params: Params$Resource$Backendservices$Setsecuritypolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setSecurityPolicy( + params: Params$Resource$Backendservices$Setsecuritypolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setSecurityPolicy( + params: Params$Resource$Backendservices$Setsecuritypolicy, + callback: BodyResponseCallback + ): void; + setSecurityPolicy(callback: BodyResponseCallback): void; + setSecurityPolicy( + paramsOrCallback?: + | Params$Resource$Backendservices$Setsecuritypolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Backendservices$Setsecuritypolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Backendservices$Setsecuritypolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/backendServices/{backendService}/setSecurityPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.backendServices.update({ + * // Name of the BackendService resource to update. + * backendService: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "affinityCookieTtlSec": 0, + * // "backends": [], + * // "cdnPolicy": {}, + * // "circuitBreakers": {}, + * // "compressionMode": "my_compressionMode", + * // "connectionDraining": {}, + * // "connectionTrackingPolicy": {}, + * // "consistentHash": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "customRequestHeaders": [], + * // "customResponseHeaders": [], + * // "description": "my_description", + * // "edgeSecurityPolicy": "my_edgeSecurityPolicy", + * // "enableCDN": false, + * // "failoverPolicy": {}, + * // "fingerprint": "my_fingerprint", + * // "healthChecks": [], + * // "iap": {}, + * // "id": "my_id", + * // "kind": "my_kind", + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "localityLbPolicies": [], + * // "localityLbPolicy": "my_localityLbPolicy", + * // "logConfig": {}, + * // "maxStreamDuration": {}, + * // "name": "my_name", + * // "network": "my_network", + * // "outlierDetection": {}, + * // "port": 0, + * // "portName": "my_portName", + * // "protocol": "my_protocol", + * // "region": "my_region", + * // "securityPolicy": "my_securityPolicy", + * // "securitySettings": {}, + * // "selfLink": "my_selfLink", + * // "serviceBindings": [], + * // "sessionAffinity": "my_sessionAffinity", + * // "subsetting": {}, + * // "timeoutSec": 0 * // } * }, * }); @@ -21943,6 +22518,21 @@ export namespace compute_v1 { */ requestBody?: Schema$ResourceGroupReference; } + export interface Params$Resource$Backendservices$Getiampolicy + extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } export interface Params$Resource$Backendservices$Insert extends StandardParameters { /** @@ -22026,6 +22616,22 @@ export namespace compute_v1 { */ requestBody?: Schema$SecurityPolicyReference; } + export interface Params$Resource$Backendservices$Setiampolicy + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } export interface Params$Resource$Backendservices$Setsecuritypolicy extends StandardParameters { /** @@ -32606,86 +33212,269 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Globaladdresses$Delete - extends StandardParameters { - /** - * Name of the address resource to delete. - */ - address?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Globaladdresses$Get - extends StandardParameters { - /** - * Name of the address resource to return. - */ - address?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Globaladdresses$Insert - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Address; - } - export interface Params$Resource$Globaladdresses$List - extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - */ - returnPartialSuccess?: boolean; - } - - export class Resource$Globalforwardingrules { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Deletes the specified GlobalForwardingRule resource. + * Sets the labels on a GlobalAddress. To learn more about labels, read the Labeling Resources documentation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.globalAddresses.setLabels({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Globaladdresses$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Globaladdresses$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Globaladdresses$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Globaladdresses$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Globaladdresses$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Globaladdresses$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Globaladdresses$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Globaladdresses$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/addresses/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Globaladdresses$Delete + extends StandardParameters { + /** + * Name of the address resource to delete. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Globaladdresses$Get + extends StandardParameters { + /** + * Name of the address resource to return. + */ + address?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Globaladdresses$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Address; + } + export interface Params$Resource$Globaladdresses$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Globaladdresses$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + + export class Resource$Globalforwardingrules { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified GlobalForwardingRule resource. * @example * ```js * // Before running the sample: @@ -49469,6 +50258,7 @@ export namespace compute_v1 { * // "deviceName": "my_deviceName", * // "diskEncryptionKey": {}, * // "diskSizeGb": "my_diskSizeGb", + * // "forceAttach": false, * // "guestOsFeatures": [], * // "index": 0, * // "initializeParams": {}, @@ -59711,6 +60501,177 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } + + /** + * Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnectAttachments.setLabels({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // The region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Interconnectattachments$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Interconnectattachments$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Interconnectattachments$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Interconnectattachments$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Interconnectattachments$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Interconnectattachments$Aggregatedlist @@ -59857,6 +60818,30 @@ export namespace compute_v1 { */ requestBody?: Schema$InterconnectAttachment; } + export interface Params$Resource$Interconnectattachments$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } export class Resource$Interconnectlocations { context: APIRequestContext; @@ -61207,6 +62192,173 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } + + /** + * Sets the labels on an Interconnect. To learn more about labels, read the Labeling Resources documentation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnects.setLabels({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Interconnects$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Interconnects$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Interconnects$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Interconnects$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Interconnects$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Interconnects$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnects$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnects$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/interconnects/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Interconnects$Delete @@ -61309,6 +62461,22 @@ export namespace compute_v1 { */ requestBody?: Schema$Interconnect; } + export interface Params$Resource$Interconnects$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } export class Resource$Licensecodes { context: APIRequestContext; @@ -83648,6 +84816,7 @@ export namespace compute_v1 { * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, + * // "compressionMode": "my_compressionMode", * // "connectionDraining": {}, * // "connectionTrackingPolicy": {}, * // "consistentHash": {}, @@ -83931,6 +85100,150 @@ export namespace compute_v1 { } } + /** + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionBackendServices.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "rules": [], + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Regionbackendservices$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Regionbackendservices$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Regionbackendservices$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Regionbackendservices$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Regionbackendservices$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Regionbackendservices$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionbackendservices$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionbackendservices$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview. * @example @@ -83977,6 +85290,7 @@ export namespace compute_v1 { * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, + * // "compressionMode": "my_compressionMode", * // "connectionDraining": {}, * // "connectionTrackingPolicy": {}, * // "consistentHash": {}, @@ -84338,6 +85652,7 @@ export namespace compute_v1 { * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, + * // "compressionMode": "my_compressionMode", * // "connectionDraining": {}, * // "connectionTrackingPolicy": {}, * // "consistentHash": {}, @@ -84497,6 +85812,157 @@ export namespace compute_v1 { } } + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionBackendServices.setIamPolicy({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "rules": [], + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Regionbackendservices$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Regionbackendservices$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Regionbackendservices$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Regionbackendservices$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Regionbackendservices$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Regionbackendservices$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionbackendservices$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionbackendservices$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview . * @example @@ -84545,6 +86011,7 @@ export namespace compute_v1 { * // "backends": [], * // "cdnPolicy": {}, * // "circuitBreakers": {}, + * // "compressionMode": "my_compressionMode", * // "connectionDraining": {}, * // "connectionTrackingPolicy": {}, * // "consistentHash": {}, @@ -84759,6 +86226,25 @@ export namespace compute_v1 { */ requestBody?: Schema$ResourceGroupReference; } + export interface Params$Resource$Regionbackendservices$Getiampolicy + extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } export interface Params$Resource$Regionbackendservices$Insert extends StandardParameters { /** @@ -84834,6 +86320,26 @@ export namespace compute_v1 { */ requestBody?: Schema$BackendService; } + export interface Params$Resource$Regionbackendservices$Setiampolicy + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } export interface Params$Resource$Regionbackendservices$Update extends StandardParameters { /** @@ -85074,12 +86580,14 @@ export namespace compute_v1 { * // "id": "my_id", * // "kind": "my_kind", * // "licenseResource": {}, + * // "mergeSourceCommitments": [], * // "name": "my_name", * // "plan": "my_plan", * // "region": "my_region", * // "reservations": [], * // "resources": [], * // "selfLink": "my_selfLink", + * // "splitSourceCommitment": "my_splitSourceCommitment", * // "startTimestamp": "my_startTimestamp", * // "status": "my_status", * // "statusMessage": "my_statusMessage", @@ -85228,12 +86736,14 @@ export namespace compute_v1 { * // "id": "my_id", * // "kind": "my_kind", * // "licenseResource": {}, + * // "mergeSourceCommitments": [], * // "name": "my_name", * // "plan": "my_plan", * // "region": "my_region", * // "reservations": [], * // "resources": [], * // "selfLink": "my_selfLink", + * // "splitSourceCommitment": "my_splitSourceCommitment", * // "startTimestamp": "my_startTimestamp", * // "status": "my_status", * // "statusMessage": "my_statusMessage", @@ -85570,12 +87080,14 @@ export namespace compute_v1 { * // "id": "my_id", * // "kind": "my_kind", * // "licenseResource": {}, + * // "mergeSourceCommitments": [], * // "name": "my_name", * // "plan": "my_plan", * // "region": "my_region", * // "reservations": [], * // "resources": [], * // "selfLink": "my_selfLink", + * // "splitSourceCommitment": "my_splitSourceCommitment", * // "startTimestamp": "my_startTimestamp", * // "status": "my_status", * // "statusMessage": "my_statusMessage", @@ -105650,32 +107162,854 @@ export namespace compute_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setSslCertificates( - params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + setSslCertificates( + params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + options: StreamMethodOptions + ): GaxiosPromise; + setSslCertificates( + params?: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + options?: MethodOptions + ): GaxiosPromise; + setSslCertificates( + params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setSslCertificates( + params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setSslCertificates( + params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + callback: BodyResponseCallback + ): void; + setSslCertificates(callback: BodyResponseCallback): void; + setSslCertificates( + paramsOrCallback?: + | Params$Resource$Regiontargethttpsproxies$Setsslcertificates + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regiontargethttpsproxies$Setsslcertificates; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Regiontargethttpsproxies$Setsslcertificates; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'targetHttpsProxy'], + pathParams: ['project', 'region', 'targetHttpsProxy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Changes the URL map for TargetHttpsProxy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionTargetHttpsProxies.setUrlMap({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the TargetHttpsProxy to set a URL map for. + * targetHttpsProxy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "urlMap": "my_urlMap" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setUrlMap( + params: Params$Resource$Regiontargethttpsproxies$Seturlmap, + options: StreamMethodOptions + ): GaxiosPromise; + setUrlMap( + params?: Params$Resource$Regiontargethttpsproxies$Seturlmap, + options?: MethodOptions + ): GaxiosPromise; + setUrlMap( + params: Params$Resource$Regiontargethttpsproxies$Seturlmap, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setUrlMap( + params: Params$Resource$Regiontargethttpsproxies$Seturlmap, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setUrlMap( + params: Params$Resource$Regiontargethttpsproxies$Seturlmap, + callback: BodyResponseCallback + ): void; + setUrlMap(callback: BodyResponseCallback): void; + setUrlMap( + paramsOrCallback?: + | Params$Resource$Regiontargethttpsproxies$Seturlmap + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regiontargethttpsproxies$Seturlmap; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regiontargethttpsproxies$Seturlmap; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'targetHttpsProxy'], + pathParams: ['project', 'region', 'targetHttpsProxy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Regiontargethttpsproxies$Delete + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to delete. + */ + targetHttpsProxy?: string; + } + export interface Params$Resource$Regiontargethttpsproxies$Get + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Name of the TargetHttpsProxy resource to return. + */ + targetHttpsProxy?: string; + } + export interface Params$Resource$Regiontargethttpsproxies$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxy; + } + export interface Params$Resource$Regiontargethttpsproxies$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Regiontargethttpsproxies$Patch + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to patch. + */ + targetHttpsProxy?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TargetHttpsProxy; + } + export interface Params$Resource$Regiontargethttpsproxies$Setsslcertificates + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy resource to set an SslCertificates resource for. + */ + targetHttpsProxy?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionTargetHttpsProxiesSetSslCertificatesRequest; + } + export interface Params$Resource$Regiontargethttpsproxies$Seturlmap + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the TargetHttpsProxy to set a URL map for. + */ + targetHttpsProxy?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$UrlMapReference; + } + + export class Resource$Regiontargettcpproxies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified TargetTcpProxy resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionTargetTcpProxies.delete({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the TargetTcpProxy resource to delete. + * targetTcpProxy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Regiontargettcpproxies$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Regiontargettcpproxies$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Regiontargettcpproxies$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Regiontargettcpproxies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Regiontargettcpproxies$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Regiontargettcpproxies$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regiontargettcpproxies$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regiontargettcpproxies$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + }, + options + ), + params, + requiredParams: ['project', 'region', 'targetTcpProxy'], + pathParams: ['project', 'region', 'targetTcpProxy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the specified TargetTcpProxy resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionTargetTcpProxies.get({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the TargetTcpProxy resource to return. + * targetTcpProxy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "proxyBind": false, + * // "proxyHeader": "my_proxyHeader", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "service": "my_service" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Regiontargettcpproxies$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Regiontargettcpproxies$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Regiontargettcpproxies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Regiontargettcpproxies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Regiontargettcpproxies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Regiontargettcpproxies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regiontargettcpproxies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regiontargettcpproxies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project', 'region', 'targetTcpProxy'], + pathParams: ['project', 'region', 'targetTcpProxy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a TargetTcpProxy resource in the specified project and region using the data included in the request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.regionTargetTcpProxies.insert({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "proxyBind": false, + * // "proxyHeader": "my_proxyHeader", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "service": "my_service" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Regiontargettcpproxies$Insert, options: StreamMethodOptions ): GaxiosPromise; - setSslCertificates( - params?: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + insert( + params?: Params$Resource$Regiontargettcpproxies$Insert, options?: MethodOptions ): GaxiosPromise; - setSslCertificates( - params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + insert( + params: Params$Resource$Regiontargettcpproxies$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setSslCertificates( - params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + insert( + params: Params$Resource$Regiontargettcpproxies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setSslCertificates( - params: Params$Resource$Regiontargethttpsproxies$Setsslcertificates, + insert( + params: Params$Resource$Regiontargettcpproxies$Insert, callback: BodyResponseCallback ): void; - setSslCertificates(callback: BodyResponseCallback): void; - setSslCertificates( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Regiontargethttpsproxies$Setsslcertificates + | Params$Resource$Regiontargettcpproxies$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -105688,13 +108022,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Regiontargethttpsproxies$Setsslcertificates; + {}) as Params$Resource$Regiontargettcpproxies$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Regiontargethttpsproxies$Setsslcertificates; + params = {} as Params$Resource$Regiontargettcpproxies$Insert; options = {}; } @@ -105709,15 +108042,15 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates' + '/compute/v1/projects/{project}/regions/{region}/targetTcpProxies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', }, options ), params, - requiredParams: ['project', 'region', 'targetHttpsProxy'], - pathParams: ['project', 'region', 'targetHttpsProxy'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -105731,7 +108064,7 @@ export namespace compute_v1 { } /** - * Changes the URL map for TargetHttpsProxy. + * Retrieves a list of TargetTcpProxy resources available to the specified project in a given region. * @example * ```js * // Before running the sample: @@ -105751,6 +108084,7 @@ export namespace compute_v1 { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -105759,53 +108093,33 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.regionTargetHttpsProxies.setUrlMap({ + * const res = await compute.regionTargetTcpProxies.list({ + * // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-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])?))', * // Name of the region scoping this request. * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name of the TargetHttpsProxy to set a URL map for. - * targetHttpsProxy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "urlMap": "my_urlMap" - * // } - * }, + * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -105821,50 +108135,53 @@ export namespace compute_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setUrlMap( - params: Params$Resource$Regiontargethttpsproxies$Seturlmap, + list( + params: Params$Resource$Regiontargettcpproxies$List, options: StreamMethodOptions ): GaxiosPromise; - setUrlMap( - params?: Params$Resource$Regiontargethttpsproxies$Seturlmap, + list( + params?: Params$Resource$Regiontargettcpproxies$List, options?: MethodOptions - ): GaxiosPromise; - setUrlMap( - params: Params$Resource$Regiontargethttpsproxies$Seturlmap, + ): GaxiosPromise; + list( + params: Params$Resource$Regiontargettcpproxies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setUrlMap( - params: Params$Resource$Regiontargethttpsproxies$Seturlmap, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Regiontargettcpproxies$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setUrlMap( - params: Params$Resource$Regiontargethttpsproxies$Seturlmap, - callback: BodyResponseCallback + list( + params: Params$Resource$Regiontargettcpproxies$List, + callback: BodyResponseCallback ): void; - setUrlMap(callback: BodyResponseCallback): void; - setUrlMap( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Regiontargethttpsproxies$Seturlmap - | BodyResponseCallback + | Params$Resource$Regiontargettcpproxies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Regiontargethttpsproxies$Seturlmap; + {}) as Params$Resource$Regiontargettcpproxies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regiontargethttpsproxies$Seturlmap; + params = {} as Params$Resource$Regiontargettcpproxies$List; options = {}; } @@ -105879,29 +108196,29 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap' + '/compute/v1/projects/{project}/regions/{region}/targetTcpProxies' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', }, options ), params, - requiredParams: ['project', 'region', 'targetHttpsProxy'], - pathParams: ['project', 'region', 'targetHttpsProxy'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Regiontargethttpsproxies$Delete + export interface Params$Resource$Regiontargettcpproxies$Delete extends StandardParameters { /** * Project ID for this request. @@ -105916,11 +108233,11 @@ export namespace compute_v1 { */ requestId?: string; /** - * Name of the TargetHttpsProxy resource to delete. + * Name of the TargetTcpProxy resource to delete. */ - targetHttpsProxy?: string; + targetTcpProxy?: string; } - export interface Params$Resource$Regiontargethttpsproxies$Get + export interface Params$Resource$Regiontargettcpproxies$Get extends StandardParameters { /** * Project ID for this request. @@ -105931,11 +108248,11 @@ export namespace compute_v1 { */ region?: string; /** - * Name of the TargetHttpsProxy resource to return. + * Name of the TargetTcpProxy resource to return. */ - targetHttpsProxy?: string; + targetTcpProxy?: string; } - export interface Params$Resource$Regiontargethttpsproxies$Insert + export interface Params$Resource$Regiontargettcpproxies$Insert extends StandardParameters { /** * Project ID for this request. @@ -105953,9 +108270,9 @@ export namespace compute_v1 { /** * Request body metadata */ - requestBody?: Schema$TargetHttpsProxy; + requestBody?: Schema$TargetTcpProxy; } - export interface Params$Resource$Regiontargethttpsproxies$List + export interface Params$Resource$Regiontargettcpproxies$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. @@ -105986,78 +108303,6 @@ export namespace compute_v1 { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Regiontargethttpsproxies$Patch - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the TargetHttpsProxy resource to patch. - */ - targetHttpsProxy?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TargetHttpsProxy; - } - export interface Params$Resource$Regiontargethttpsproxies$Setsslcertificates - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the TargetHttpsProxy resource to set an SslCertificates resource for. - */ - targetHttpsProxy?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RegionTargetHttpsProxiesSetSslCertificatesRequest; - } - export interface Params$Resource$Regiontargethttpsproxies$Seturlmap - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the TargetHttpsProxy to set a URL map for. - */ - targetHttpsProxy?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$UrlMapReference; - } export class Resource$Regionurlmaps { context: APIRequestContext; @@ -114812,32 +117057,192 @@ export namespace compute_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchRule( - params: Params$Resource$Securitypolicies$Patchrule, + patchRule( + params: Params$Resource$Securitypolicies$Patchrule, + options: StreamMethodOptions + ): GaxiosPromise; + patchRule( + params?: Params$Resource$Securitypolicies$Patchrule, + options?: MethodOptions + ): GaxiosPromise; + patchRule( + params: Params$Resource$Securitypolicies$Patchrule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchRule( + params: Params$Resource$Securitypolicies$Patchrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchRule( + params: Params$Resource$Securitypolicies$Patchrule, + callback: BodyResponseCallback + ): void; + patchRule(callback: BodyResponseCallback): void; + patchRule( + paramsOrCallback?: + | Params$Resource$Securitypolicies$Patchrule + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Securitypolicies$Patchrule; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Securitypolicies$Patchrule; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}/patchRule' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'securityPolicy'], + pathParams: ['project', 'securityPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a rule at the specified priority. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.securityPolicies.removeRule({ + * // The priority of the rule to remove from the security policy. + * priority: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // Name of the security policy to update. + * securityPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeRule( + params: Params$Resource$Securitypolicies$Removerule, options: StreamMethodOptions ): GaxiosPromise; - patchRule( - params?: Params$Resource$Securitypolicies$Patchrule, + removeRule( + params?: Params$Resource$Securitypolicies$Removerule, options?: MethodOptions ): GaxiosPromise; - patchRule( - params: Params$Resource$Securitypolicies$Patchrule, + removeRule( + params: Params$Resource$Securitypolicies$Removerule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchRule( - params: Params$Resource$Securitypolicies$Patchrule, + removeRule( + params: Params$Resource$Securitypolicies$Removerule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchRule( - params: Params$Resource$Securitypolicies$Patchrule, + removeRule( + params: Params$Resource$Securitypolicies$Removerule, callback: BodyResponseCallback ): void; - patchRule(callback: BodyResponseCallback): void; - patchRule( + removeRule(callback: BodyResponseCallback): void; + removeRule( paramsOrCallback?: - | Params$Resource$Securitypolicies$Patchrule + | Params$Resource$Securitypolicies$Removerule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -114850,12 +117255,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Securitypolicies$Patchrule; + {}) as Params$Resource$Securitypolicies$Removerule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Securitypolicies$Patchrule; + params = {} as Params$Resource$Securitypolicies$Removerule; options = {}; } @@ -114870,7 +117275,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}/patchRule' + '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}/removeRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', }, @@ -114892,7 +117297,7 @@ export namespace compute_v1 { } /** - * Deletes a rule at the specified priority. + * Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation. * @example * ```js * // Before running the sample: @@ -114920,14 +117325,21 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.securityPolicies.removeRule({ - * // The priority of the rule to remove from the security policy. - * priority: 'placeholder-value', + * const res = await compute.securityPolicies.setLabels({ * // Project ID for this request. * project: * '(?:(?:[-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])?))', - * // Name of the security policy to update. - * securityPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, * }); * console.log(res.data); * @@ -114972,32 +117384,32 @@ export namespace compute_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeRule( - params: Params$Resource$Securitypolicies$Removerule, + setLabels( + params: Params$Resource$Securitypolicies$Setlabels, options: StreamMethodOptions ): GaxiosPromise; - removeRule( - params?: Params$Resource$Securitypolicies$Removerule, + setLabels( + params?: Params$Resource$Securitypolicies$Setlabels, options?: MethodOptions ): GaxiosPromise; - removeRule( - params: Params$Resource$Securitypolicies$Removerule, + setLabels( + params: Params$Resource$Securitypolicies$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeRule( - params: Params$Resource$Securitypolicies$Removerule, + setLabels( + params: Params$Resource$Securitypolicies$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeRule( - params: Params$Resource$Securitypolicies$Removerule, + setLabels( + params: Params$Resource$Securitypolicies$Setlabels, callback: BodyResponseCallback ): void; - removeRule(callback: BodyResponseCallback): void; - removeRule( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Securitypolicies$Removerule + | Params$Resource$Securitypolicies$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -115010,12 +117422,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Securitypolicies$Removerule; + {}) as Params$Resource$Securitypolicies$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Securitypolicies$Removerule; + params = {} as Params$Resource$Securitypolicies$Setlabels; options = {}; } @@ -115030,15 +117442,15 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/global/securityPolicies/{securityPolicy}/removeRule' + '/compute/v1/projects/{project}/global/securityPolicies/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', }, options ), params, - requiredParams: ['project', 'securityPolicy'], - pathParams: ['project', 'securityPolicy'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -115277,6 +117689,22 @@ export namespace compute_v1 { */ securityPolicy?: string; } + export interface Params$Resource$Securitypolicies$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } export class Resource$Serviceattachments { context: APIRequestContext; @@ -119261,6 +121689,165 @@ export namespace compute_v1 { this.context = context; } + /** + * Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.sslPolicies.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + * filter: 'placeholder-value', + * // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + * pageToken: 'placeholder-value', + * // Name of the project scoping this request. + * project: + * '(?:(?:[-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])?))', + * // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Sslpolicies$Aggregatedlist, + options: StreamMethodOptions + ): GaxiosPromise; + aggregatedList( + params?: Params$Resource$Sslpolicies$Aggregatedlist, + options?: MethodOptions + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Sslpolicies$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Sslpolicies$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Sslpolicies$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Sslpolicies$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Sslpolicies$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Sslpolicies$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/v1/projects/{project}/aggregated/sslPolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources. * @example @@ -120226,6 +122813,37 @@ export namespace compute_v1 { } } + export interface Params$Resource$Sslpolicies$Aggregatedlist + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + */ + filter?: string; + /** + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + */ + returnPartialSuccess?: boolean; + } export interface Params$Resource$Sslpolicies$Delete extends StandardParameters { /** @@ -131695,6 +134313,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "proxyBind": false, * // "proxyHeader": "my_proxyHeader", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "service": "my_service" * // } @@ -131838,6 +134457,7 @@ export namespace compute_v1 { * // "name": "my_name", * // "proxyBind": false, * // "proxyHeader": "my_proxyHeader", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "service": "my_service" * // } @@ -133372,6 +135992,177 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } + + /** + * Sets the labels on a TargetVpnGateway. To learn more about labels, read the Labeling Resources documentation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.targetVpnGateways.setLabels({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // The region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Targetvpngateways$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Targetvpngateways$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Targetvpngateways$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Targetvpngateways$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Targetvpngateways$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Targetvpngateways$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Targetvpngateways$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Targetvpngateways$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Targetvpngateways$Aggregatedlist @@ -133490,6 +136281,30 @@ export namespace compute_v1 { */ returnPartialSuccess?: boolean; } + export interface Params$Resource$Targetvpngateways$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } export class Resource$Urlmaps { context: APIRequestContext; @@ -137407,6 +140222,177 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } + + /** + * Sets the labels on a VpnTunnel. To learn more about labels, read the Labeling Resources documentation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.vpnTunnels.setLabels({ + * // Project ID for this request. + * project: + * '(?:(?:[-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])?))', + * // The region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Vpntunnels$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Vpntunnels$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Vpntunnels$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Vpntunnels$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Vpntunnels$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Vpntunnels$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Vpntunnels$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Vpntunnels$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Vpntunnels$Aggregatedlist @@ -137523,6 +140509,30 @@ export namespace compute_v1 { */ returnPartialSuccess?: boolean; } + export interface Params$Resource$Vpntunnels$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } export class Resource$Zoneoperations { context: APIRequestContext;