Class: Google::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1Workload

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/assuredworkloads_v1beta1/classes.rb,
lib/google/apis/assuredworkloads_v1beta1/representations.rb,
lib/google/apis/assuredworkloads_v1beta1/representations.rb

Overview

A Workload object for managing highly regulated workloads of cloud customers.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudAssuredworkloadsV1beta1Workload

Returns a new instance of GoogleCloudAssuredworkloadsV1beta1Workload.



2152
2153
2154
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2152

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#available_updatesFixnum

Output only. The number of updates available for the workload. Corresponds to the JSON property availableUpdates

Returns:

  • (Fixnum)


1974
1975
1976
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 1974

def available_updates
  @available_updates
end

#billing_accountString

Optional. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form billingAccounts/billing_account_id`. For example, billingAccounts/012345-567890-ABCDEF. Corresponds to the JSON propertybillingAccount`

Returns:

  • (String)


1984
1985
1986
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 1984

def 
  @billing_account
end

#cjis_settingsGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadCjisSettings

Settings specific to resources needed for CJIS. Corresponds to the JSON property cjisSettings



1989
1990
1991
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 1989

def cjis_settings
  @cjis_settings
end

#compliance_regimeString

Required. Immutable. Compliance Regime associated with this workload. Corresponds to the JSON property complianceRegime

Returns:

  • (String)


1994
1995
1996
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 1994

def compliance_regime
  @compliance_regime
end

#compliance_statusGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadComplianceStatus

Represents the Compliance Status of this workload Corresponds to the JSON property complianceStatus



1999
2000
2001
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 1999

def compliance_status
  @compliance_status
end

#compliance_updates_enabledBoolean Also known as: compliance_updates_enabled?

Output only. Indicates whether the compliance updates feature is enabled for a workload. The compliance updates feature can be enabled via the EnableComplianceUpdates endpoint. Corresponds to the JSON property complianceUpdatesEnabled

Returns:

  • (Boolean)


2006
2007
2008
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2006

def compliance_updates_enabled
  @compliance_updates_enabled
end

#compliant_but_disallowed_servicesArray<String>

Output only. Urls for services which are compliant for this Assured Workload, but which are currently disallowed by the ResourceUsageRestriction org policy. Invoke RestrictAllowedResources endpoint to allow your project developers to use these services in their environment. Corresponds to the JSON property compliantButDisallowedServices

Returns:

  • (Array<String>)


2015
2016
2017
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2015

def compliant_but_disallowed_services
  @compliant_but_disallowed_services
end

#create_timeString

Output only. Immutable. The Workload creation timestamp. Corresponds to the JSON property createTime

Returns:

  • (String)


2020
2021
2022
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2020

def create_time
  @create_time
end

#display_nameString

Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload Corresponds to the JSON property displayName

Returns:

  • (String)


2027
2028
2029
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2027

def display_name
  @display_name
end

#ekm_provisioning_responseGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadEkmProvisioningResponse

External key management systems(EKM) Provisioning response Corresponds to the JSON property ekmProvisioningResponse



2032
2033
2034
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2032

def ekm_provisioning_response
  @ekm_provisioning_response
end

#enable_sovereign_controlsBoolean Also known as: enable_sovereign_controls?

Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers. Corresponds to the JSON property enableSovereignControls

Returns:

  • (Boolean)


2038
2039
2040
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2038

def enable_sovereign_controls
  @enable_sovereign_controls
end

#etagString

Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations. Corresponds to the JSON property etag

Returns:

  • (String)


2045
2046
2047
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2045

def etag
  @etag
end

#fedramp_high_settingsGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadFedrampHighSettings

Settings specific to resources needed for FedRAMP High. Corresponds to the JSON property fedrampHighSettings



2050
2051
2052
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2050

def fedramp_high_settings
  @fedramp_high_settings
end

#fedramp_moderate_settingsGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadFedrampModerateSettings

Settings specific to resources needed for FedRAMP Moderate. Corresponds to the JSON property fedrampModerateSettings



2055
2056
2057
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2055

def fedramp_moderate_settings
  @fedramp_moderate_settings
end

#il4_settingsGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadIl4Settings

Settings specific to resources needed for IL4. Corresponds to the JSON property il4Settings



2060
2061
2062
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2060

def il4_settings
  @il4_settings
end

#kaj_enrollment_stateString

Output only. Represents the KAJ enrollment state of the given workload. Corresponds to the JSON property kajEnrollmentState

Returns:

  • (String)


2065
2066
2067
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2065

def kaj_enrollment_state
  @kaj_enrollment_state
end

#kms_settingsGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadKmsSettings

Settings specific to the Key Management Service. Corresponds to the JSON property kmsSettings



2070
2071
2072
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2070

def kms_settings
  @kms_settings
end

#labelsHash<String,String>

Optional. Labels applied to the workload. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


2075
2076
2077
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2075

def labels
  @labels
end

#nameString

Optional. The resource name of the workload. Format: organizations/ organization/locations/location/workloads/workload Read-only. Corresponds to the JSON property name

Returns:

  • (String)


2081
2082
2083
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2081

def name
  @name
end

#partnerString

Optional. Partner regime associated with this workload. Corresponds to the JSON property partner

Returns:

  • (String)


2086
2087
2088
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2086

def partner
  @partner
end

#partner_permissionsGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadPartnerPermissions

Permissions granted to the AW Partner SA account for the customer workload Corresponds to the JSON property partnerPermissions



2091
2092
2093
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2091

def partner_permissions
  @partner_permissions
end

#partner_services_billing_accountString

Optional. Billing account necessary for purchasing services from Sovereign Partners. This field is required for creating SIA/PSN/CNTXT/Telefonica partner workloads. The caller should have 'billing.resourceAssociations.create' IAM permission on this billing-account. The format of this string is billingAccounts/AAAAAA-BBBBBB-CCCCCC Corresponds to the JSON property partnerServicesBillingAccount

Returns:

  • (String)


2100
2101
2102
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2100

def 
  @partner_services_billing_account
end

#provisioned_resources_parentString

Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/folder_id Corresponds to the JSON property provisionedResourcesParent

Returns:

  • (String)


2108
2109
2110
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2108

def provisioned_resources_parent
  @provisioned_resources_parent
end

#resource_monitoring_enabledBoolean Also known as: resource_monitoring_enabled?

Output only. Indicates whether resource monitoring is enabled for workload or not. It is true when Resource feed is subscribed to AWM topic and AWM Service Agent Role is binded to AW Service Account for resource Assured workload. Corresponds to the JSON property resourceMonitoringEnabled

Returns:

  • (Boolean)


2115
2116
2117
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2115

def resource_monitoring_enabled
  @resource_monitoring_enabled
end

#resource_settingsArray<Google::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadResourceSettings>

Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional. Corresponds to the JSON property resourceSettings



2123
2124
2125
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2123

def resource_settings
  @resource_settings
end

#resourcesArray<Google::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadResourceInfo>

Output only. The resources associated with this workload. These resources will be created when creating the workload. If any of the projects already exist, the workload creation will fail. Always read only. Corresponds to the JSON property resources



2130
2131
2132
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2130

def resources
  @resources
end

#saa_enrollment_responseGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadSaaEnrollmentResponse

Signed Access Approvals (SAA) enrollment response. Corresponds to the JSON property saaEnrollmentResponse



2135
2136
2137
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2135

def saa_enrollment_response
  @saa_enrollment_response
end

#violation_notifications_enabledBoolean Also known as: violation_notifications_enabled?

Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload. Corresponds to the JSON property violationNotificationsEnabled

Returns:

  • (Boolean)


2144
2145
2146
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2144

def violation_notifications_enabled
  @violation_notifications_enabled
end

#workload_optionsGoogle::Apis::AssuredworkloadsV1beta1::GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions

Options to be set for the given created workload. Corresponds to the JSON property workloadOptions



2150
2151
2152
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2150

def workload_options
  @workload_options
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
# File 'lib/google/apis/assuredworkloads_v1beta1/classes.rb', line 2157

def update!(**args)
  @available_updates = args[:available_updates] if args.key?(:available_updates)
  @billing_account = args[:billing_account] if args.key?(:billing_account)
  @cjis_settings = args[:cjis_settings] if args.key?(:cjis_settings)
  @compliance_regime = args[:compliance_regime] if args.key?(:compliance_regime)
  @compliance_status = args[:compliance_status] if args.key?(:compliance_status)
  @compliance_updates_enabled = args[:compliance_updates_enabled] if args.key?(:compliance_updates_enabled)
  @compliant_but_disallowed_services = args[:compliant_but_disallowed_services] if args.key?(:compliant_but_disallowed_services)
  @create_time = args[:create_time] if args.key?(:create_time)
  @display_name = args[:display_name] if args.key?(:display_name)
  @ekm_provisioning_response = args[:ekm_provisioning_response] if args.key?(:ekm_provisioning_response)
  @enable_sovereign_controls = args[:enable_sovereign_controls] if args.key?(:enable_sovereign_controls)
  @etag = args[:etag] if args.key?(:etag)
  @fedramp_high_settings = args[:fedramp_high_settings] if args.key?(:fedramp_high_settings)
  @fedramp_moderate_settings = args[:fedramp_moderate_settings] if args.key?(:fedramp_moderate_settings)
  @il4_settings = args[:il4_settings] if args.key?(:il4_settings)
  @kaj_enrollment_state = args[:kaj_enrollment_state] if args.key?(:kaj_enrollment_state)
  @kms_settings = args[:kms_settings] if args.key?(:kms_settings)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @partner = args[:partner] if args.key?(:partner)
  @partner_permissions = args[:partner_permissions] if args.key?(:partner_permissions)
  @partner_services_billing_account = args[:partner_services_billing_account] if args.key?(:partner_services_billing_account)
  @provisioned_resources_parent = args[:provisioned_resources_parent] if args.key?(:provisioned_resources_parent)
  @resource_monitoring_enabled = args[:resource_monitoring_enabled] if args.key?(:resource_monitoring_enabled)
  @resource_settings = args[:resource_settings] if args.key?(:resource_settings)
  @resources = args[:resources] if args.key?(:resources)
  @saa_enrollment_response = args[:saa_enrollment_response] if args.key?(:saa_enrollment_response)
  @violation_notifications_enabled = args[:violation_notifications_enabled] if args.key?(:violation_notifications_enabled)
  @workload_options = args[:workload_options] if args.key?(:workload_options)
end