google-apis-apigee_v1 0.74.0 → 0.76.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -284,6 +284,11 @@ module Google
284
284
  # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AdvancedApiOpsConfig]
285
285
  attr_accessor :advanced_api_ops_config
286
286
 
287
+ # Configuration for the Analytics add-on.
288
+ # Corresponds to the JSON property `analyticsConfig`
289
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AnalyticsConfig]
290
+ attr_accessor :analytics_config
291
+
287
292
  # Configurations of the API Security add-on.
288
293
  # Corresponds to the JSON property `apiSecurityConfig`
289
294
  # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiSecurityConfig]
@@ -311,6 +316,7 @@ module Google
311
316
  # Update properties of this object
312
317
  def update!(**args)
313
318
  @advanced_api_ops_config = args[:advanced_api_ops_config] if args.key?(:advanced_api_ops_config)
319
+ @analytics_config = args[:analytics_config] if args.key?(:analytics_config)
314
320
  @api_security_config = args[:api_security_config] if args.key?(:api_security_config)
315
321
  @connectors_platform_config = args[:connectors_platform_config] if args.key?(:connectors_platform_config)
316
322
  @integration_config = args[:integration_config] if args.key?(:integration_config)
@@ -422,6 +428,45 @@ module Google
422
428
  end
423
429
  end
424
430
 
431
+ # Configuration for the Analytics add-on.
432
+ class GoogleCloudApigeeV1AnalyticsConfig
433
+ include Google::Apis::Core::Hashable
434
+
435
+ # Whether the Analytics add-on is enabled.
436
+ # Corresponds to the JSON property `enabled`
437
+ # @return [Boolean]
438
+ attr_accessor :enabled
439
+ alias_method :enabled?, :enabled
440
+
441
+ # Output only. Time at which the Analytics add-on expires in milliseconds since
442
+ # epoch. If unspecified, the add-on will never expire.
443
+ # Corresponds to the JSON property `expireTimeMillis`
444
+ # @return [Fixnum]
445
+ attr_accessor :expire_time_millis
446
+
447
+ # Output only. The state of the Analytics add-on.
448
+ # Corresponds to the JSON property `state`
449
+ # @return [String]
450
+ attr_accessor :state
451
+
452
+ # Output only. The latest update time.
453
+ # Corresponds to the JSON property `updateTime`
454
+ # @return [String]
455
+ attr_accessor :update_time
456
+
457
+ def initialize(**args)
458
+ update!(**args)
459
+ end
460
+
461
+ # Update properties of this object
462
+ def update!(**args)
463
+ @enabled = args[:enabled] if args.key?(:enabled)
464
+ @expire_time_millis = args[:expire_time_millis] if args.key?(:expire_time_millis)
465
+ @state = args[:state] if args.key?(:state)
466
+ @update_time = args[:update_time] if args.key?(:update_time)
467
+ end
468
+ end
469
+
425
470
  # the Api category resource wrapped with response status, error_code etc.
426
471
  class GoogleCloudApigeeV1ApiCategory
427
472
  include Google::Apis::Core::Hashable
@@ -3505,6 +3550,32 @@ module Google
3505
3550
  end
3506
3551
  end
3507
3552
 
3553
+ # Message to disable an enabled SecurityAction.
3554
+ class GoogleCloudApigeeV1DisableSecurityActionRequest
3555
+ include Google::Apis::Core::Hashable
3556
+
3557
+ def initialize(**args)
3558
+ update!(**args)
3559
+ end
3560
+
3561
+ # Update properties of this object
3562
+ def update!(**args)
3563
+ end
3564
+ end
3565
+
3566
+ # Message to enable a disabled SecurityAction.
3567
+ class GoogleCloudApigeeV1EnableSecurityActionRequest
3568
+ include Google::Apis::Core::Hashable
3569
+
3570
+ def initialize(**args)
3571
+ update!(**args)
3572
+ end
3573
+
3574
+ # Update properties of this object
3575
+ def update!(**args)
3576
+ end
3577
+ end
3578
+
3508
3579
  # Apigee endpoint attachment. For more information, see [Southbound networking
3509
3580
  # patterns] (https://cloud.google.com/apigee/docs/api-platform/architecture/
3510
3581
  # southbound-networking-patterns-endpoints).
@@ -3729,6 +3800,12 @@ module Google
3729
3800
  class GoogleCloudApigeeV1EnvironmentConfig
3730
3801
  include Google::Apis::Core::Hashable
3731
3802
 
3803
+ # RuntimeAddonsConfig defines the runtime configurations for add-ons in an
3804
+ # environment.
3805
+ # Corresponds to the JSON property `addonsConfig`
3806
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1RuntimeAddonsConfig]
3807
+ attr_accessor :addons_config
3808
+
3732
3809
  # The location for the config blob of API Runtime Control, aka Envoy Adapter,
3733
3810
  # for op-based authentication as a URI, e.g. a Cloud Storage URI. This is only
3734
3811
  # used by Envoy-based gateways.
@@ -3858,6 +3935,7 @@ module Google
3858
3935
 
3859
3936
  # Update properties of this object
3860
3937
  def update!(**args)
3938
+ @addons_config = args[:addons_config] if args.key?(:addons_config)
3861
3939
  @arc_config_location = args[:arc_config_location] if args.key?(:arc_config_location)
3862
3940
  @create_time = args[:create_time] if args.key?(:create_time)
3863
3941
  @data_collectors = args[:data_collectors] if args.key?(:data_collectors)
@@ -5700,6 +5778,32 @@ module Google
5700
5778
  end
5701
5779
  end
5702
5780
 
5781
+ # Contains a list of SecurityActions in response to a ListSecurityActionRequest.
5782
+ class GoogleCloudApigeeV1ListSecurityActionsResponse
5783
+ include Google::Apis::Core::Hashable
5784
+
5785
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
5786
+ # field is omitted, there are no subsequent pages.
5787
+ # Corresponds to the JSON property `nextPageToken`
5788
+ # @return [String]
5789
+ attr_accessor :next_page_token
5790
+
5791
+ # The SecurityActions for the specified environment.
5792
+ # Corresponds to the JSON property `securityActions`
5793
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityAction>]
5794
+ attr_accessor :security_actions
5795
+
5796
+ def initialize(**args)
5797
+ update!(**args)
5798
+ end
5799
+
5800
+ # Update properties of this object
5801
+ def update!(**args)
5802
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5803
+ @security_actions = args[:security_actions] if args.key?(:security_actions)
5804
+ end
5805
+ end
5806
+
5703
5807
  # Response for ListSecurityIncidents.
5704
5808
  class GoogleCloudApigeeV1ListSecurityIncidentsResponse
5705
5809
  include Google::Apis::Core::Hashable
@@ -6483,6 +6587,11 @@ module Google
6483
6587
  # @return [String]
6484
6588
  attr_accessor :state
6485
6589
 
6590
+ # Output only. Subscription plan that the customer has purchased. Output only.
6591
+ # Corresponds to the JSON property `subscriptionPlan`
6592
+ # @return [String]
6593
+ attr_accessor :subscription_plan
6594
+
6486
6595
  # Output only. DEPRECATED: This will eventually be replaced by BillingType.
6487
6596
  # Subscription type of the Apigee organization. Valid values include trial (free,
6488
6597
  # limited, and for evaluation purposes only) or paid (full subscription has
@@ -6528,6 +6637,7 @@ module Google
6528
6637
  @runtime_database_encryption_key_name = args[:runtime_database_encryption_key_name] if args.key?(:runtime_database_encryption_key_name)
6529
6638
  @runtime_type = args[:runtime_type] if args.key?(:runtime_type)
6530
6639
  @state = args[:state] if args.key?(:state)
6640
+ @subscription_plan = args[:subscription_plan] if args.key?(:subscription_plan)
6531
6641
  @subscription_type = args[:subscription_type] if args.key?(:subscription_type)
6532
6642
  @type = args[:type] if args.key?(:type)
6533
6643
  end
@@ -6675,6 +6785,164 @@ module Google
6675
6785
  end
6676
6786
  end
6677
6787
 
6788
+ # ProfileConfig defines a set of categories and policies which will be used to
6789
+ # compute security score.
6790
+ class GoogleCloudApigeeV1ProfileConfig
6791
+ include Google::Apis::Core::Hashable
6792
+
6793
+ # List of categories of profile config.
6794
+ # Corresponds to the JSON property `categories`
6795
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigCategory>]
6796
+ attr_accessor :categories
6797
+
6798
+ def initialize(**args)
6799
+ update!(**args)
6800
+ end
6801
+
6802
+ # Update properties of this object
6803
+ def update!(**args)
6804
+ @categories = args[:categories] if args.key?(:categories)
6805
+ end
6806
+ end
6807
+
6808
+ # Checks for abuse, which includes any requests sent to the API for purposes
6809
+ # other than what it is intended for, such as high volumes of requests, data
6810
+ # scraping, and abuse related to authorization.
6811
+ class GoogleCloudApigeeV1ProfileConfigAbuse
6812
+ include Google::Apis::Core::Hashable
6813
+
6814
+ def initialize(**args)
6815
+ update!(**args)
6816
+ end
6817
+
6818
+ # Update properties of this object
6819
+ def update!(**args)
6820
+ end
6821
+ end
6822
+
6823
+ # By default, following policies will be included: - JWS - JWT - OAuth -
6824
+ # BasicAuth - APIKey
6825
+ class GoogleCloudApigeeV1ProfileConfigAuthorization
6826
+ include Google::Apis::Core::Hashable
6827
+
6828
+ def initialize(**args)
6829
+ update!(**args)
6830
+ end
6831
+
6832
+ # Update properties of this object
6833
+ def update!(**args)
6834
+ end
6835
+ end
6836
+
6837
+ # Checks to see if you have CORS policy in place.
6838
+ class GoogleCloudApigeeV1ProfileConfigCors
6839
+ include Google::Apis::Core::Hashable
6840
+
6841
+ def initialize(**args)
6842
+ update!(**args)
6843
+ end
6844
+
6845
+ # Update properties of this object
6846
+ def update!(**args)
6847
+ end
6848
+ end
6849
+
6850
+ # Advanced API Security provides security profile that scores the following
6851
+ # categories.
6852
+ class GoogleCloudApigeeV1ProfileConfigCategory
6853
+ include Google::Apis::Core::Hashable
6854
+
6855
+ # Checks for abuse, which includes any requests sent to the API for purposes
6856
+ # other than what it is intended for, such as high volumes of requests, data
6857
+ # scraping, and abuse related to authorization.
6858
+ # Corresponds to the JSON property `abuse`
6859
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigAbuse]
6860
+ attr_accessor :abuse
6861
+
6862
+ # By default, following policies will be included: - JWS - JWT - OAuth -
6863
+ # BasicAuth - APIKey
6864
+ # Corresponds to the JSON property `authorization`
6865
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigAuthorization]
6866
+ attr_accessor :authorization
6867
+
6868
+ # Checks to see if you have CORS policy in place.
6869
+ # Corresponds to the JSON property `cors`
6870
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigCors]
6871
+ attr_accessor :cors
6872
+
6873
+ # By default, following policies will be included: - OASValidation -
6874
+ # SOAPMessageValidation
6875
+ # Corresponds to the JSON property `mediation`
6876
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigMediation]
6877
+ attr_accessor :mediation
6878
+
6879
+ # Checks to see if you have configured mTLS for the target server.
6880
+ # Corresponds to the JSON property `mtls`
6881
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigMtls]
6882
+ attr_accessor :mtls
6883
+
6884
+ # By default, following policies will be included: - XMLThreatProtection -
6885
+ # JSONThreatProtection
6886
+ # Corresponds to the JSON property `threat`
6887
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigThreat]
6888
+ attr_accessor :threat
6889
+
6890
+ def initialize(**args)
6891
+ update!(**args)
6892
+ end
6893
+
6894
+ # Update properties of this object
6895
+ def update!(**args)
6896
+ @abuse = args[:abuse] if args.key?(:abuse)
6897
+ @authorization = args[:authorization] if args.key?(:authorization)
6898
+ @cors = args[:cors] if args.key?(:cors)
6899
+ @mediation = args[:mediation] if args.key?(:mediation)
6900
+ @mtls = args[:mtls] if args.key?(:mtls)
6901
+ @threat = args[:threat] if args.key?(:threat)
6902
+ end
6903
+ end
6904
+
6905
+ # Checks to see if you have configured mTLS for the target server.
6906
+ class GoogleCloudApigeeV1ProfileConfigMtls
6907
+ include Google::Apis::Core::Hashable
6908
+
6909
+ def initialize(**args)
6910
+ update!(**args)
6911
+ end
6912
+
6913
+ # Update properties of this object
6914
+ def update!(**args)
6915
+ end
6916
+ end
6917
+
6918
+ # By default, following policies will be included: - OASValidation -
6919
+ # SOAPMessageValidation
6920
+ class GoogleCloudApigeeV1ProfileConfigMediation
6921
+ include Google::Apis::Core::Hashable
6922
+
6923
+ def initialize(**args)
6924
+ update!(**args)
6925
+ end
6926
+
6927
+ # Update properties of this object
6928
+ def update!(**args)
6929
+ end
6930
+ end
6931
+
6932
+ # By default, following policies will be included: - XMLThreatProtection -
6933
+ # JSONThreatProtection
6934
+ class GoogleCloudApigeeV1ProfileConfigThreat
6935
+ include Google::Apis::Core::Hashable
6936
+
6937
+ def initialize(**args)
6938
+ update!(**args)
6939
+ end
6940
+
6941
+ # Update properties of this object
6942
+ def update!(**args)
6943
+ end
6944
+ end
6945
+
6678
6946
  # Message for compatibility with legacy Edge specification for Java Properties
6679
6947
  # object in JSON.
6680
6948
  class GoogleCloudApigeeV1Properties
@@ -7895,6 +8163,100 @@ module Google
7895
8163
  end
7896
8164
  end
7897
8165
 
8166
+ # RuntimeAddonsConfig defines the runtime configurations for add-ons in an
8167
+ # environment.
8168
+ class GoogleCloudApigeeV1RuntimeAddonsConfig
8169
+ include Google::Apis::Core::Hashable
8170
+
8171
+ # Runtime configuration for the Analytics add-on.
8172
+ # Corresponds to the JSON property `analyticsConfig`
8173
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1RuntimeAnalyticsConfig]
8174
+ attr_accessor :analytics_config
8175
+
8176
+ # Runtime configuration for the API Security add-on.
8177
+ # Corresponds to the JSON property `apiSecurityConfig`
8178
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1RuntimeApiSecurityConfig]
8179
+ attr_accessor :api_security_config
8180
+
8181
+ # Name of the addons config in the format: `organizations/`org`/environments/`
8182
+ # env`/addonsConfig`
8183
+ # Corresponds to the JSON property `name`
8184
+ # @return [String]
8185
+ attr_accessor :name
8186
+
8187
+ # Revision number used by the runtime to detect config changes.
8188
+ # Corresponds to the JSON property `revisionId`
8189
+ # @return [String]
8190
+ attr_accessor :revision_id
8191
+
8192
+ # UID is to detect if config is recreated after deletion. The add-on config will
8193
+ # only be deleted when the environment itself gets deleted, thus it will always
8194
+ # be the same as the UID of EnvironmentConfig.
8195
+ # Corresponds to the JSON property `uid`
8196
+ # @return [String]
8197
+ attr_accessor :uid
8198
+
8199
+ def initialize(**args)
8200
+ update!(**args)
8201
+ end
8202
+
8203
+ # Update properties of this object
8204
+ def update!(**args)
8205
+ @analytics_config = args[:analytics_config] if args.key?(:analytics_config)
8206
+ @api_security_config = args[:api_security_config] if args.key?(:api_security_config)
8207
+ @name = args[:name] if args.key?(:name)
8208
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
8209
+ @uid = args[:uid] if args.key?(:uid)
8210
+ end
8211
+ end
8212
+
8213
+ # Runtime configuration for the Analytics add-on.
8214
+ class GoogleCloudApigeeV1RuntimeAnalyticsConfig
8215
+ include Google::Apis::Core::Hashable
8216
+
8217
+ # If Runtime should send billing data to AX or not.
8218
+ # Corresponds to the JSON property `billingPipelineEnabled`
8219
+ # @return [Boolean]
8220
+ attr_accessor :billing_pipeline_enabled
8221
+ alias_method :billing_pipeline_enabled?, :billing_pipeline_enabled
8222
+
8223
+ # If the Analytics is enabled or not.
8224
+ # Corresponds to the JSON property `enabled`
8225
+ # @return [Boolean]
8226
+ attr_accessor :enabled
8227
+ alias_method :enabled?, :enabled
8228
+
8229
+ def initialize(**args)
8230
+ update!(**args)
8231
+ end
8232
+
8233
+ # Update properties of this object
8234
+ def update!(**args)
8235
+ @billing_pipeline_enabled = args[:billing_pipeline_enabled] if args.key?(:billing_pipeline_enabled)
8236
+ @enabled = args[:enabled] if args.key?(:enabled)
8237
+ end
8238
+ end
8239
+
8240
+ # Runtime configuration for the API Security add-on.
8241
+ class GoogleCloudApigeeV1RuntimeApiSecurityConfig
8242
+ include Google::Apis::Core::Hashable
8243
+
8244
+ # If the API Security is enabled or not.
8245
+ # Corresponds to the JSON property `enabled`
8246
+ # @return [Boolean]
8247
+ attr_accessor :enabled
8248
+ alias_method :enabled?, :enabled
8249
+
8250
+ def initialize(**args)
8251
+ update!(**args)
8252
+ end
8253
+
8254
+ # Update properties of this object
8255
+ def update!(**args)
8256
+ @enabled = args[:enabled] if args.key?(:enabled)
8257
+ end
8258
+ end
8259
+
7898
8260
  # Runtime configuration for the organization. Response for GetRuntimeConfig.
7899
8261
  class GoogleCloudApigeeV1RuntimeConfig
7900
8262
  include Google::Apis::Core::Hashable
@@ -8345,6 +8707,247 @@ module Google
8345
8707
  end
8346
8708
  end
8347
8709
 
8710
+ # A SecurityAction is rule that can be enforced at an environment level. The
8711
+ # result is one of: - A denied API call - An explicitly allowed API call - A
8712
+ # flagged API call (HTTP headers added before the target receives it) At least
8713
+ # one condition is required to create a SecurityAction.
8714
+ class GoogleCloudApigeeV1SecurityAction
8715
+ include Google::Apis::Core::Hashable
8716
+
8717
+ # Message that should be set in case of an Allow Action. This does not have any
8718
+ # fields.
8719
+ # Corresponds to the JSON property `allow`
8720
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionAllow]
8721
+ attr_accessor :allow
8722
+
8723
+ # The following are a list of conditions. A valid SecurityAction must contain at
8724
+ # least one condition. Within a condition, each element is ORed. Across
8725
+ # conditions elements are ANDed. For example if a SecurityAction has the
8726
+ # following: api_keys: ["key1", "key2"] and developers: ["dev1", "dev2"] then
8727
+ # this is interpreted as: enforce the action if the incoming request has ((
8728
+ # api_key = "key1" OR api_key="key") AND (developer="dev1" OR developer="dev2"))
8729
+ # Corresponds to the JSON property `conditionConfig`
8730
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionConditionConfig]
8731
+ attr_accessor :condition_config
8732
+
8733
+ # Output only. The create time for this SecurityAction.
8734
+ # Corresponds to the JSON property `createTime`
8735
+ # @return [String]
8736
+ attr_accessor :create_time
8737
+
8738
+ # Message that should be set in case of a Deny Action.
8739
+ # Corresponds to the JSON property `deny`
8740
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionDeny]
8741
+ attr_accessor :deny
8742
+
8743
+ # Optional. An optional user provided description of the SecurityAction.
8744
+ # Corresponds to the JSON property `description`
8745
+ # @return [String]
8746
+ attr_accessor :description
8747
+
8748
+ # The expiration for this SecurityAction.
8749
+ # Corresponds to the JSON property `expireTime`
8750
+ # @return [String]
8751
+ attr_accessor :expire_time
8752
+
8753
+ # The message that should be set in the case of a Flag action.
8754
+ # Corresponds to the JSON property `flag`
8755
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionFlag]
8756
+ attr_accessor :flag
8757
+
8758
+ # Immutable. This field is ignored during creation as per AIP-133. Please set
8759
+ # the `security_action_id` field in the CreateSecurityActionRequest when
8760
+ # creating a new SecurityAction. Format: organizations/`org`/environments/`env`/
8761
+ # securityActions/`security_action`
8762
+ # Corresponds to the JSON property `name`
8763
+ # @return [String]
8764
+ attr_accessor :name
8765
+
8766
+ # Required. Only an ENABLED SecurityAction is enforced. An ENABLED
8767
+ # SecurityAction past its expiration time will not be enforced.
8768
+ # Corresponds to the JSON property `state`
8769
+ # @return [String]
8770
+ attr_accessor :state
8771
+
8772
+ # Input only. The TTL for this SecurityAction.
8773
+ # Corresponds to the JSON property `ttl`
8774
+ # @return [String]
8775
+ attr_accessor :ttl
8776
+
8777
+ # Output only. The update time for this SecurityAction. This reflects when this
8778
+ # SecurityAction changed states.
8779
+ # Corresponds to the JSON property `updateTime`
8780
+ # @return [String]
8781
+ attr_accessor :update_time
8782
+
8783
+ def initialize(**args)
8784
+ update!(**args)
8785
+ end
8786
+
8787
+ # Update properties of this object
8788
+ def update!(**args)
8789
+ @allow = args[:allow] if args.key?(:allow)
8790
+ @condition_config = args[:condition_config] if args.key?(:condition_config)
8791
+ @create_time = args[:create_time] if args.key?(:create_time)
8792
+ @deny = args[:deny] if args.key?(:deny)
8793
+ @description = args[:description] if args.key?(:description)
8794
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
8795
+ @flag = args[:flag] if args.key?(:flag)
8796
+ @name = args[:name] if args.key?(:name)
8797
+ @state = args[:state] if args.key?(:state)
8798
+ @ttl = args[:ttl] if args.key?(:ttl)
8799
+ @update_time = args[:update_time] if args.key?(:update_time)
8800
+ end
8801
+ end
8802
+
8803
+ # Message that should be set in case of an Allow Action. This does not have any
8804
+ # fields.
8805
+ class GoogleCloudApigeeV1SecurityActionAllow
8806
+ include Google::Apis::Core::Hashable
8807
+
8808
+ def initialize(**args)
8809
+ update!(**args)
8810
+ end
8811
+
8812
+ # Update properties of this object
8813
+ def update!(**args)
8814
+ end
8815
+ end
8816
+
8817
+ # The following are a list of conditions. A valid SecurityAction must contain at
8818
+ # least one condition. Within a condition, each element is ORed. Across
8819
+ # conditions elements are ANDed. For example if a SecurityAction has the
8820
+ # following: api_keys: ["key1", "key2"] and developers: ["dev1", "dev2"] then
8821
+ # this is interpreted as: enforce the action if the incoming request has ((
8822
+ # api_key = "key1" OR api_key="key") AND (developer="dev1" OR developer="dev2"))
8823
+ class GoogleCloudApigeeV1SecurityActionConditionConfig
8824
+ include Google::Apis::Core::Hashable
8825
+
8826
+ # Optional. A list of Bot Reasons. Current options: Flooder, Brute Guessor,
8827
+ # Static Content Scraper, OAuth Abuser, Robot Abuser, TorListRule, Advanced
8828
+ # Anomaly Detection and Advanced API Scraper.
8829
+ # Corresponds to the JSON property `botReasons`
8830
+ # @return [Array<String>]
8831
+ attr_accessor :bot_reasons
8832
+
8833
+ # Optional. A list of IP addresses. This could be either IPv4 or IPv6. Limited
8834
+ # to 100 per action.
8835
+ # Corresponds to the JSON property `ipAddressRanges`
8836
+ # @return [Array<String>]
8837
+ attr_accessor :ip_address_ranges
8838
+
8839
+ def initialize(**args)
8840
+ update!(**args)
8841
+ end
8842
+
8843
+ # Update properties of this object
8844
+ def update!(**args)
8845
+ @bot_reasons = args[:bot_reasons] if args.key?(:bot_reasons)
8846
+ @ip_address_ranges = args[:ip_address_ranges] if args.key?(:ip_address_ranges)
8847
+ end
8848
+ end
8849
+
8850
+ # Message that should be set in case of a Deny Action.
8851
+ class GoogleCloudApigeeV1SecurityActionDeny
8852
+ include Google::Apis::Core::Hashable
8853
+
8854
+ # Optional. The HTTP response code if the Action = DENY.
8855
+ # Corresponds to the JSON property `responseCode`
8856
+ # @return [Fixnum]
8857
+ attr_accessor :response_code
8858
+
8859
+ def initialize(**args)
8860
+ update!(**args)
8861
+ end
8862
+
8863
+ # Update properties of this object
8864
+ def update!(**args)
8865
+ @response_code = args[:response_code] if args.key?(:response_code)
8866
+ end
8867
+ end
8868
+
8869
+ # The message that should be set in the case of a Flag action.
8870
+ class GoogleCloudApigeeV1SecurityActionFlag
8871
+ include Google::Apis::Core::Hashable
8872
+
8873
+ # Optional. A list of HTTP headers to be sent to the target in case of a FLAG
8874
+ # SecurityAction. Limit 5 headers per SecurityAction. At least one is mandatory.
8875
+ # Corresponds to the JSON property `headers`
8876
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionHttpHeader>]
8877
+ attr_accessor :headers
8878
+
8879
+ def initialize(**args)
8880
+ update!(**args)
8881
+ end
8882
+
8883
+ # Update properties of this object
8884
+ def update!(**args)
8885
+ @headers = args[:headers] if args.key?(:headers)
8886
+ end
8887
+ end
8888
+
8889
+ # An HTTP header.
8890
+ class GoogleCloudApigeeV1SecurityActionHttpHeader
8891
+ include Google::Apis::Core::Hashable
8892
+
8893
+ # The header name to be sent to the target.
8894
+ # Corresponds to the JSON property `name`
8895
+ # @return [String]
8896
+ attr_accessor :name
8897
+
8898
+ # The header value to be sent to the target.
8899
+ # Corresponds to the JSON property `value`
8900
+ # @return [String]
8901
+ attr_accessor :value
8902
+
8903
+ def initialize(**args)
8904
+ update!(**args)
8905
+ end
8906
+
8907
+ # Update properties of this object
8908
+ def update!(**args)
8909
+ @name = args[:name] if args.key?(:name)
8910
+ @value = args[:value] if args.key?(:value)
8911
+ end
8912
+ end
8913
+
8914
+ # SecurityActionsConfig reflects the current state of the SecurityActions
8915
+ # feature. This is a singleton resource: https://google.aip.dev/156
8916
+ class GoogleCloudApigeeV1SecurityActionsConfig
8917
+ include Google::Apis::Core::Hashable
8918
+
8919
+ # The flag that controls whether this feature is enabled. This is `unset` by
8920
+ # default. When this flag is `false`, even if individual rules are enabled, no
8921
+ # SecurityActions will be enforced.
8922
+ # Corresponds to the JSON property `enabled`
8923
+ # @return [Boolean]
8924
+ attr_accessor :enabled
8925
+ alias_method :enabled?, :enabled
8926
+
8927
+ # This is a singleton resource, the name will always be set by SecurityActions
8928
+ # and any user input will be ignored. The name is always: `organizations/`org`/
8929
+ # environments/`env`/security_actions_config`
8930
+ # Corresponds to the JSON property `name`
8931
+ # @return [String]
8932
+ attr_accessor :name
8933
+
8934
+ # Output only. The update time for configuration.
8935
+ # Corresponds to the JSON property `updateTime`
8936
+ # @return [String]
8937
+ attr_accessor :update_time
8938
+
8939
+ def initialize(**args)
8940
+ update!(**args)
8941
+ end
8942
+
8943
+ # Update properties of this object
8944
+ def update!(**args)
8945
+ @enabled = args[:enabled] if args.key?(:enabled)
8946
+ @name = args[:name] if args.key?(:name)
8947
+ @update_time = args[:update_time] if args.key?(:update_time)
8948
+ end
8949
+ end
8950
+
8348
8951
  # Represents an SecurityIncident resource.
8349
8952
  class GoogleCloudApigeeV1SecurityIncident
8350
8953
  include Google::Apis::Core::Hashable
@@ -8355,7 +8958,7 @@ module Google
8355
8958
  # @return [Array<String>]
8356
8959
  attr_accessor :detection_types
8357
8960
 
8358
- # Display name of the security incident.
8961
+ # Optional. Display name of the security incident.
8359
8962
  # Corresponds to the JSON property `displayName`
8360
8963
  # @return [String]
8361
8964
  attr_accessor :display_name
@@ -8440,6 +9043,12 @@ module Google
8440
9043
  # @return [String]
8441
9044
  attr_accessor :name
8442
9045
 
9046
+ # ProfileConfig defines a set of categories and policies which will be used to
9047
+ # compute security score.
9048
+ # Corresponds to the JSON property `profileConfig`
9049
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfig]
9050
+ attr_accessor :profile_config
9051
+
8443
9052
  # Output only. The time when revision was created.
8444
9053
  # Corresponds to the JSON property `revisionCreateTime`
8445
9054
  # @return [String]
@@ -8479,6 +9088,7 @@ module Google
8479
9088
  @max_score = args[:max_score] if args.key?(:max_score)
8480
9089
  @min_score = args[:min_score] if args.key?(:min_score)
8481
9090
  @name = args[:name] if args.key?(:name)
9091
+ @profile_config = args[:profile_config] if args.key?(:profile_config)
8482
9092
  @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
8483
9093
  @revision_id = args[:revision_id] if args.key?(:revision_id)
8484
9094
  @revision_publish_time = args[:revision_publish_time] if args.key?(:revision_publish_time)
@@ -8522,8 +9132,7 @@ module Google
8522
9132
  # @return [String]
8523
9133
  attr_accessor :attach_time
8524
9134
 
8525
- # Immutable. Name of the profile-environment association resource. Format:
8526
- # organizations/`org`/securityProfiles/`profile`/environments/`env`
9135
+ # Immutable. Name of the environment that the profile is attached to.
8527
9136
  # Corresponds to the JSON property `name`
8528
9137
  # @return [String]
8529
9138
  attr_accessor :name
@@ -8988,6 +9597,33 @@ module Google
8988
9597
  end
8989
9598
  end
8990
9599
 
9600
+ # Request for SetAddonEnablement.
9601
+ class GoogleCloudApigeeV1SetAddonEnablementRequest
9602
+ include Google::Apis::Core::Hashable
9603
+
9604
+ # If the Analytics should be enabled in the environment.
9605
+ # Corresponds to the JSON property `analyticsEnabled`
9606
+ # @return [Boolean]
9607
+ attr_accessor :analytics_enabled
9608
+ alias_method :analytics_enabled?, :analytics_enabled
9609
+
9610
+ # If the API Security should be enabled in the environment.
9611
+ # Corresponds to the JSON property `apiSecurityEnabled`
9612
+ # @return [Boolean]
9613
+ attr_accessor :api_security_enabled
9614
+ alias_method :api_security_enabled?, :api_security_enabled
9615
+
9616
+ def initialize(**args)
9617
+ update!(**args)
9618
+ end
9619
+
9620
+ # Update properties of this object
9621
+ def update!(**args)
9622
+ @analytics_enabled = args[:analytics_enabled] if args.key?(:analytics_enabled)
9623
+ @api_security_enabled = args[:api_security_enabled] if args.key?(:api_security_enabled)
9624
+ end
9625
+ end
9626
+
8991
9627
  # Request for SetAddons.
8992
9628
  class GoogleCloudApigeeV1SetAddonsRequest
8993
9629
  include Google::Apis::Core::Hashable
@@ -9973,22 +10609,22 @@ module Google
9973
10609
  # evaluates to `true`. A condition can add constraints based on attributes of
9974
10610
  # the request, the resource, or both. To learn which resources support
9975
10611
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9976
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
10612
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
9977
10613
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9978
10614
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9979
10615
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9980
10616
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9981
10617
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
9982
10618
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9983
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9984
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
9985
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9986
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9987
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9988
- # access description: Does not grant access after Sep 2020 expression: request.
9989
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9990
- # a description of IAM and its features, see the [IAM documentation](https://
9991
- # cloud.google.com/iam/docs/).
10619
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
10620
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
10621
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
10622
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
10623
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
10624
+ # title: expirable access description: Does not grant access after Sep 2020
10625
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
10626
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
10627
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
9992
10628
  class GoogleIamV1Policy
9993
10629
  include Google::Apis::Core::Hashable
9994
10630
 
@@ -10072,22 +10708,22 @@ module Google
10072
10708
  # evaluates to `true`. A condition can add constraints based on attributes of
10073
10709
  # the request, the resource, or both. To learn which resources support
10074
10710
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10075
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
10711
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
10076
10712
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10077
10713
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10078
10714
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10079
10715
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10080
10716
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
10081
10717
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10082
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10083
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
10084
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10085
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10086
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10087
- # access description: Does not grant access after Sep 2020 expression: request.
10088
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10089
- # a description of IAM and its features, see the [IAM documentation](https://
10090
- # cloud.google.com/iam/docs/).
10718
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
10719
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
10720
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
10721
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
10722
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
10723
+ # title: expirable access description: Does not grant access after Sep 2020
10724
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
10725
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
10726
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
10091
10727
  # Corresponds to the JSON property `policy`
10092
10728
  # @return [Google::Apis::ApigeeV1::GoogleIamV1Policy]
10093
10729
  attr_accessor :policy
@@ -10212,13 +10848,13 @@ module Google
10212
10848
  # @return [String]
10213
10849
  attr_accessor :name
10214
10850
 
10215
- # The normal response of the operation in case of success. If the original
10216
- # method returns no data on success, such as `Delete`, the response is `google.
10217
- # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
10218
- # the response should be the resource. For other methods, the response should
10219
- # have the type `XxxResponse`, where `Xxx` is the original method name. For
10220
- # example, if the original method name is `TakeSnapshot()`, the inferred
10221
- # response type is `TakeSnapshotResponse`.
10851
+ # The normal, successful response of the operation. If the original method
10852
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
10853
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
10854
+ # response should be the resource. For other methods, the response should have
10855
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
10856
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
10857
+ # `TakeSnapshotResponse`.
10222
10858
  # Corresponds to the JSON property `response`
10223
10859
  # @return [Hash<String,Object>]
10224
10860
  attr_accessor :response